可变数据类型与不可变数据类型:
def changeme(mylist):
"修改传入的列表"
#mylist.append([1, 2, 3, 4])
mylist.append((1, 2, 3, 4))
print("函数内取值: ", mylist)
return
# 调用changeme函数
mylist1 = [10, 20, 30]
mylist2 = (10, 20, 30) #元组没有append属性,不可改
changeme(mylist1)
print("函数外取值: ", mylist1)
传入参数不可以是元组类型,元组类型不含append的属性
def changeme(mylist):
"修改传入的列表"
mylist = [1, 2, 3, 4] #函数内部内存块(记为mem_2),参数传入没有影响到该处内存
print("函数内取值: ", mylist)
return
# 调用changeme函数
mylist = [10, 20, 30, 22] #函数外部内存块(记为mem_1)
changeme(mylist)
print("函数外取值: ", mylist)
函数外的内存块作为参数传入函数,函数内部没有对该块内存(mem_1)进行修改,所以函数外print的值还是mem_1的值,函数内的内存mem_2也没有被修改,所以print的值还是mem_1的值。
两块mem没有属性变化操作。