安徽省建设工程信息网站进不了广州做外贸网站建设
函数返回值进阶
- 函数返回的内容也是地址
def func01():data = [1, 2, 3]# 执行到此步后,[1, 2, 3]这块内存会有一个引用计数器,且值为2,因为内部的data与外部的v1都指向这块空间return data
v1 = func01()# v1 point the address of data, if this line finished, the data is been deleted.引用计数器变为1
print(v1)# [1, 2, 3]
参数的默认值进阶
- 如果函数参数的默认值是可变类型,就需要注意指向问题
def func(a1, a2 = [1, 2]):a2.append(666)print(a1, a2)returnfunc(100)# 100 [1, 2, 666]
func(200)# 200 [1, ]