s22day3笔记

一、函数

# count=0
# s='sasdas'
# for i in s:
# count+=1
# print(count)

return :终止函数
给函数的执行者返回值
return 或者return None
对于单个值是什么就返回什么
返回多个值是元组类型

实参:
位置参数:与形参一一对应
关键字参数:必须一一对应
def f(a,b):
pass
f(b=1,a=2)
混合参数:包含位置参数和关键字参数 关键字参数必须在位置参数后边

形参:
位置参数:按照顺序一一对应
默认参数:。4
动态参数,万能参数:
*args:所有位置参数,放入一个元组
**kwargs:所有关键字参数,放入一个字典
形参顺序:位置、*、默认、**

二、文件操作


文件路径、编码方式(gbk、unicode、utf-8)、操作方式(读、写、改)
f=open('路径',encoding='编码方式',mode='r')

f:文件句柄
open调用的内置函数,内置函数调用的操作系统内部的open
一切对文件进行的操作都是基于文件句柄
执行流程:打开文件,产生文件句柄
对文件句柄进行操作
关闭文件句柄
读:
r:
read()全读
read(n)n代表的字符
readline()读一行,一个语句读一行
readlines()放入一个列表中,每一个元素对应每一行
for循环读
rb:非文字类文件
read(n)n代表字节
r+:读写模式
r+b

写:
w:没有文件新建文件写入内容,有文件则先清空再写入
wb
w+:先写后读
seek(0)调整光标至最前面
w+b

追加:a:没有文件新建文件写入内容,有文件则先清空再写入
ab
a+
a+b

其他操作方法:readable:是否可读、writable是否可写 返回true或者flase
tell 光标位置
truncate()按照字节对原文件截取,必须在a或者a+模式
with open('',encoding='',mode='r') as f1:
print(f1.read())
好处:不用主动关闭句柄,同时操作多个文件句柄
文件的改:
以读模式打开原文件
以写的模式打开新文件
将原文件内容读出按照要求修改,将修改后的内容写入新文件
删除原文件
将新文件重命名

三、编码

1、==  数值比较
2、is 比较内存
3、id 测试内存地址
4、小数据池 str int 意义是节省空间
5、int -5---256
6、str 不能含有特殊字符,单个元素*数字不能超过21,单独设置字符串是共用一个内存地址


ascii 数字,字母,特殊字符
字节:8位表示一个字节
字符:看到内容的最小组成单位
unicode:万国码
起初2个字节表示一个字符
升级后用4个字节表示一个字符
utf-8:最少用8位表示一个字符
gbk:国标
只有中文和英文
中文用两个字节
1、不同编码之间的二进制是不能互相识别;
2、对于文件的存储及传输不能是unicode



python3
int
bool
bytes:内部编码方式可以设定:非unicode
str:内部编码方式为unicode
list
dict
tuple
其他为utf-8

字母:
str:表现形式:'aaa'
内部编码:unicode
str:表现形式:b'aaa'
内部编码:非unicode
中文:
str:表现形式:'中国'
内部编码:unicode
str:表现形式:xxx\xxx\xxx\xxx\xxx\xxx\
内部编码:非unicode

转换:encode
s='ss'
b=s.encode('UTF-8')
d=b.decode('utf-8')
解码:decode

四、编码

1、集合:要求它里面的数据,可哈希的(不重复的),无序。(str,元组,bool,int)集合本身是不可哈希的。
查询非常快,不可更改
set1={}
1、关系测试
2、去重
list去重
set1={1,1,1,2,2,3,4,5,5}
l=【1,1,1,2,2,3,4,5,5】
print(set(l))
print(list(set(l)))


增:
。add
。update 便利增加

删:
。pop随机删除
。remove按照元素删除,不存在报错
。clear清空
。del整个字典

查:
只能用for循环查询
交集:&,结果为集合
。intersection
并集:|
。union
差集:-
。difference
反交集:^
。symetric_difference
父子集:>
。issubset
超集:>

不可变的集合
frozenset 冻集合

五、深浅copy

赋值运算共用同一内存地址

浅copy:第一层各自独立,从第二层开始共用一个地址
深copy:导入copy模块,使用。deepcopy ,无论是多少层,都是相互独立的

切片为浅copy

猜你喜欢

转载自www.cnblogs.com/zzp1991/p/9083131.html