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