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中不同。