python的pyc文件 python是交互性语言,执行会编译,每次执行完成后,代码当前目录会生成一个.pyc的文件,用于下次再次执行这个文件,能够快速的加载。如果修改源代码,python会比较.pyc文件和源代码文件的时间是否一致,如果不一致,会重新生成一个.pyc 文件。
python数据类型:int,float,布尔型,字符串等
三元算法: a,b,c=1,4,6 d=a if a>b else c
字符串和bytes之间的转化,即解码decode和编码encode
浅复制的三种方法:1,import copy
a=copy.copy(b)
2, a=b[:]
3, a=list(b)
代码:
import copy
# for i in range(1,10):
# print(i)
a=['name',['money',100],300]
print(id(a))
a1=a[:]
a2=a[:]
a3=copy.deepcopy(a)
a4=a
a1[0]='do'
a1[1][0]='study'
#a1[1][0]='zhangsan'
print(a1)
print(a2)
print(a3)
print(a4)
print(id(a1[0]))
print(id(a2[0]))
print(id(a1[1]))
print(id(a2[1]))
print(id(a1[2]))
print(id(a2[2]))
输出结果是:
1690370273992
['do', ['study', 100], 300]
['name', ['study', 100], 300]
['name', ['money', 100], 300]
['name', ['study', 100], 300]
1690368767120
1690335308688
1690370273800
1690370273800
1690335358672
1690335358672
会发现浅复制时修改列表元素,后面浅复制的都不会发生改变,为什么呢?那是因为只是复制了最外面的一层,也就是最外面的一层是独立的,而里一层也就是['money',100]是一个地址,如果修改其地址,会修改所有的值。