Python_Day3_基础3
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_Day3_基础3相关的知识,希望对你有一定的参考价值。
- 字典
字典一种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”的一个浅复制
- 文件操作
对文件操作流程
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
基本操作:
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的主要内容,如果未能解决你的问题,请参考以下文章