第二周小结
Posted yanminggang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二周小结相关的知识,希望对你有一定的参考价值。
一、元组用法
1、索引 | 切片 | 长度
2、.count(obj)查看元素的个数
3、.index(obj,bindex,eindex)查看元素索引,可以指定从第几个开始到第几个结束
4、有序存储,可存放多个数据,不可变(内部可以包含可变对象,可变对象依旧可变)
5、应用场景:将不允许操作的列表转为为元组,将允许操作的元组转为列表
二、字典用法
1、无序,存放多个值,可变,通过key取值
2、常见操作:dic[key] = value #key存在就是改,不存在就是增
dic[key] :取值,如果key不存在就报错,所以用get(key,defalut)
update({‘a‘:100,‘c‘:300}):key存在就更新,不存在就新增
pop(key):根据key删且返回对应的value
dic.setdafault(key,None) key存在不操作,key不存在,dic[key] = default
dic.clear() 删除字典中的所有元素
dic.keys()返回一个包含所有key的列表
dic.valuess()返回一个包含所有values的列表
dic.items()返回一个包含所有(键,值)元组的列表
dic.get(key,default=None)返回字典中key对应的值,若key不存在,则返回default的值,默认为None
三、集合用法
1、数据具有唯一性(去重)
2、无序存储:没有key,没有索引,无法取值
3、可变数据类型,内部可以存放任意类型数据,但数据具有唯一性
4、交集&:两个集合共同存在的 #还是以集合的形式取出
5、并集 | :两个集合的合并
6、差集 -:p_set - l_set #p集合去掉l集合中的一样的元素
7、对称差集^:p_set ^ l_set #两个集合去掉相同的元素在合并到一起
8、判断两个集合是不是不想交 p_set.isdisjoint(l_set) #不相交就返回True
9、update():可以支持同时传入多个参数,不管是列表还是字符串都会把每个元素拆开了加进去(去重)
10、add():只能加一个
11、集合删除单个元素有两种方法:set.discard(x):元素不在集合中时,不会报错。而set.remove(x):元素不在集合中时会报错
12、pop():由于集合是无序的,所以返回的值不能确定,且当集合为空时会报错
四、字符编码
1、乱码:存数据与读数据采用的编码表不一致
2、py2中默认按ASCII来解释文件内容,py3中默认按utf-8来解释文件内容
3、文件头:#encoding:编码表
功能:告诉py解释器按照什么编码来解释文件内容
4、Unicode以定长(2字节)存取数据
5、utf-8以变长(1-6字节)存取数据,因为大量数据都是以英文存在,所以utf-8空间更小,传输速度更快
6、原义字符串:r‘abc abc‘ # ‘abc abc‘
7、u‘‘与b‘‘之间相互转化
编码:u‘‘.encode(‘utf-8‘)
解码:b‘‘.decode(‘utf-8‘) #解码后以字符串的形式存在
五、文件操作
1、with open(‘文件路径‘,‘模式’,encoding= ‘utf-8‘)as f :
2、line = f.readline() #一次读一行
3、line = f.readlines() #按行一次性全部读出
4、for line in f: #逐步一行一行读
5、write :文件不存在会新建文件再操作,文件存在会先清空文件再操作
6、文件的复制:for line in f1:
f2.write(line)
7、非文本类型采用b模式,不需要考虑编码问题
8、游标(seek):必须在b模式下操作,seek中偏移的是字节
9、seek(偏移量,偏移位置)
偏移位置:
0 文件开头
1 当前位置
2 文件末尾
六、函数:存放代码块的容器(重复利用的工具)
1、函数四部分:
函数名:调用函数的依据
函数体:实现功能的代码块
参数列表:完成功能需要的条件信息
返回值:功能完成的反馈结果
2、使用函数
函数名:拿到函数的地址
函数名():拿到函数的地址,并执行函数中存放的代码块(函数体)
函数名(参数):执行函数并传入参数
函数名():执行完毕后,会得到函数的返回值,返回值就跟普通变量一样,可以直接打印、使用、运算
3、函数的分类:
无参函数:不需要外界传参
有参函数:需要外界传参
空返回:返回None
空return :用来结束函数
4、函数的嵌套:在一个函数的内部调用另一个函数
5、实参:
位置实参:不用明确形参名的传参方式,一定按照位置给形参传值
关键字实参:必须明确形参名字与值为形参传值,可以不用按照顺序
关键字实参必须在位置实参后面
6、形参:
位置形参:可以由位置实参与关键字实参来传值
默认形参:可以由位置实参与关键字实参来传值,还可以不用传值(采用自身默认值)
可变长形参args:以元组形式接受位置形参与默认形参未接受的所有传入的位置实参,用索引来取第几个,只能由位置实参来传值
关键字形参:出现在*之后的形参,必须由关键字实参来传值,没有顺序
可变长关键字形参kwargs:用来接受没有被关键字形参接受完的关键字形参,也只能由关键字实参来传值,用字典来存放数据
以上是关于第二周小结的主要内容,如果未能解决你的问题,请参考以下文章