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