1、可变类型:列表、字典。
2、不可变类型:数字、字符串、元组。
3、在字典中,不可变类型可作key值:
infor = {"name":"zhangsan",3.14:"pai",(100,99):"score"}
可变类型不可作key值。
例1:
a = 100
def test(num):
num+=num
print(num)
test(a)
print(a)
#实际输出结果
>200
>100
#因为a为不可变类型,所以num+=num,相当于重新定义了一个局部变量,而全局变量未被修改。
例2:
a = [100]
def test(num):
num+=num
print(num)
test(a)
print(a)
#实际输出结果:
>[100,100]
>[100,100]
#因为列表是可变类型,所以直接修改全局变量,实际输出结果相同。
例3:
a = [100]
def test(num):
num = num+num
print(num)
test(a)
print(a)
#实际输出结果:
>[100,100]
>[100]
#在Python中,num+=num与num=num+num不相同,前者是直接修改a变量指向的值,而后者重新指向一个新的值。所以实际输出结果a与例2中不同。