a = 1
print(id(a))
def fun(a):
a = 2
print(a,id(a))
fun(a)
print(a,id(a)) # 1
#为什么这里的a的值没有改变
#因为在函数里变量赋值(内存指向)作用于该函数 类似于局部变量
#假如在函数里加个global a
相关文章
- 02-24python学习Day12 函数的默认值、三元表达式、函数对象(函数名)的应用场景、名称空间与作用域
- 02-24Day 08 可变与不可变对象/列表与字典内置方法
- 02-24Python中的可变对象与不可变对象、浅拷贝与深拷贝
- 02-24python – scala:具有可变长度参数的Function对象的trait?
- 02-24Python中的对象行为与特殊方法(二)类型检查与抽象基类
- 02-24python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义
- 02-24Python中的可变对象和不可变对象
- 02-24python 3全栈开发-面向对象之绑定方法(classmethod与staticmethod的区别)、多态、封装的特性property
- 02-24Python 的__del__()方法 ---内存回收,对象销毁 || 与__init__方法对比
- 02-24python的可变对象与不可变对象