|
发表于 2020-9-16 17:19:39
|
显示全部楼层
- var = ' Hi '
- def fun1():
- global var
- var = ' Baby '
- return fun2(var)
- def fun2(var):
- var += 'I love you'
- print(id(var))
- fun3(var)
- print(id(var))
- return var
- def fun3(var):
- print(id(var))
- var = ' 小甲鱼 '
- print(id(var))
- print(fun1())
复制代码- var =['Hi']
- def fun1():
- global var
- var[0] = ' Baby '
- return fun2(var)
- def fun2(var):
- var[0]+= 'I love you'
- print(id(var))
- fun3(var)
- print(id(var))
- return var
- def fun3(var):
- print(id(var))
- var[0] = ' 小甲鱼 '
- print(id(var))
- print(fun1())
复制代码
Python的不可变量
>字符
>数值
>元组
Python的可变量
>列表
>字典
>集合
所以在fun3里生成一个新的地址的字符串'小甲鱼'赋给了局部变量var.这个var跟fun2里的var没有关系。 而可变量会直接修改原地址的数据。 |
评分
-
查看全部评分
|