码迷,mamicode.com
首页 > 编程语言 > 详细

Python_Day3_基础3

时间:2016-10-29 01:45:32      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:lex   container   rgs   index   忘记   code   交集   utf-16   嵌套   

python基础之数据类型与变量

  • 字典

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:

info = {
    stu1101‘: "Wu",
    stu1102‘: "Luo",
    stu1103‘: "Ma",
}

字典的特性:

  • dict是无序的
  • key必须是唯一的, 天生去重

  增加:

>>> info["stu1104"] = "kong"

  修改:

   >>> info[stu1101‘] = "teng"

  删除:

>>> info.pop("stu1101") #标准删除姿势
>>> del info[stu1103‘] #换个姿势删除
>>> info.popitem() #随机删除
查找:
>>> "stu1102" in info #标准用法

  >>> info.get("stu1102") #获取

>>> info["stu1105"]  #如果一个key不存在,就报错,get不会,不存在只返回None

更新:
#update 
>>> info
{stu1102‘: Long‘, stu1103‘: Xiao‘, stu1106‘: Alex}
>>> b = {1:2,3:4, "stu1102":"luo"}
>>> info.update(b)
 

#多级字典嵌套及操作

 

names = {
111111111:{
‘name‘:‘jeb‘,
‘age‘:‘18‘,
‘country‘:‘china‘
},
22222222:{
‘name‘:‘jeb.li‘,
‘age‘:‘18‘,
‘country‘:‘china‘
},
}

 

循环dict方法:

#方法1
for key in info:
    print(key,info[key])

#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
    print(k,v)
  • 集合

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系
语法:

s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) 基本操作: t.add(x‘) # 添加一项 s.update([10,37,42]) # 在s中添加多项 使用remove()可以删除一项: t.remove(H) len(s) set 的长度 x in s 测试 x 是否是 s 的成员 x not in s 测试 x 是否不是 s 的成员 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中 s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制

 

  • 文件操作

对文件操作流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件

基本操作: 

  f = open(‘lyrics‘) #打开文件
  first_line = f.readline()
  print(‘first line:‘,first_line) #读一行
  print(‘我是分隔线‘.center(50,‘-‘))
  data = f.read()# 读取剩下的所有内容,文件大时不要用
  print(data) #打印文件
    f.close() #关闭文件

    

打开文件的模式有

  • r,只读模式(默认)
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

     "+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

     "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

     "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

其他语法:

def close(self)
def read(self, size=-1)
def readall(self, *args, **kwargs)
def readable(self, *args, **kwargs)
def seek(self, *args, **kwargs)

def tell(self, *args, **kwargs)

def truncate(self, *args, **kwargs)

def write(self, *args, **kwargs)

with语句:

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

with open(‘log‘,‘r‘) as f:
     
    ...

如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。

  • 字符编码与转码

需知:

1.在python2默认编码是ASCII, python3里默认是utf-8

2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节),  utf-8就是unicode

3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string

技术分享

 

Python_Day3_基础3

标签:lex   container   rgs   index   忘记   code   交集   utf-16   嵌套   

原文地址:http://www.cnblogs.com/Jeb15/p/6009816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!