如果某个函数需要同步改变 主函数的某个变量
python 里对于复杂的数据结构如 list 和dic 当形参都是引用的形式
而我的变量是单个变量 比如 int
一种方法是用 global
但是最好不要用global
我想问 还要什么方法
其实,python中没有传值调用和传引用调用的区别。python中一切都是对象,所以理论上应该都是传引用调用。
但是,python中strings, tuples, 和numbers是不可更改的对象,给这些不可更改的对象赋值时,相当于重新生成了另一个对象。
比如int就是不可更改的对象,函数外定义i=1,在函数内部给i赋值时(比如i=2),其实已经在内存中另外生成了一个i。
你说的很对,那我这个问题 你有什么好的方法没
@2010Freeze:
除了global,我也没什么好办法。。。
还是将整个包装 成一个类吧
这样:
def foo(x): return x + foo.bar foo.bar = 1 foo(2) foo.bar = 2 foo(3)
太深奥了,看不懂