Day03

小知识点补充

比较变量内存地址和获取变量内存地址
a = 1
b = a
print(a is b) #输出:True,比较2个变量是否是同一个内存地址
id(a) #获取变量a的内存地址
小数据池

为了节省内存,当多个int或str类型的值相同时,且符合以下要求时,都会是指向同一个内存地址。
int:-5至256
str:1.不能含有特殊字符;2.不能*int超过21;

集合

集合的特点是:元素必须是可哈希的,不重复,且无序。但集合本身是不可哈希的。
set1 = {1,2,3}
set1.add(4) #添加
set1.update('567') #添加多个
set1.pop() #随机删除
set1.remove(3) #按照元素删除,不存在报错
set1.clear() #清空
del set1 # 整个删除
集合没有索引,只能循环读取。
集合的计算:
a = {1,2,3}
b = {2,3,4}
a - b 差集
a & b 交集
a | b 并集
a ^ b 反交集
a > b 超集
a < b 子集
frozenset(set1) 不可变集合

深浅拷贝

s1 = [1,2,3,[4,5]]
s2 = s1 #同一个内存地址
s2 = s1.copy # 浅拷贝,只copy一层,从第二层开始共用一个内存地址
s2 = copy.deepcopy(s1) #深拷贝,无论第几层全是不同的内存地址

文件操作

操作流程:1.打开文件产生文件句柄,2.对文件句柄进行读写操作,3.关闭文件。
f1 = open('test.txt', encoding='utf-8', mode=r) # 打开文件
f1.read() #读取文件全部内容
f1.close() # 关闭文件
f1.readable() #是否可读
f1.writeable() #是否可写
f1.seek() #设置光标位置
f1.tell() #获取光标位置

函数

函数的定义:

def 函数名:
    函数体

函数的执行:

函数名()

函数的终止
返回None:

return
return None

返回单个值:

return a

返回多个值:会将多个值打包到一个元组中返回

return a,b

形参:
位置参数:按顺序一一对应
默认参数:必须在位置参数的后面,不传参时,自动取默认值。
动态参数:args包含所有的位置参数的元组;*kwargs包含所有的关键字参数的字典
实参:
位置参数:按照位置一一对应
关键字参数:按照关键字一一对应
混合参数:关键字参数必须要在位置参数的后面

你可能感兴趣的:(Day03)