Python: Reassign value to variable (using a function)
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Python: How do I pass a variable by reference?
如何将值重新分配给作为函数参数传递的变量?
例如,我想做的是:
| 1 2 3 4 5 6 7 8 | foo = True def convert(foo): if foo == True: foo = 'on' elif foo == False: foo = 'off' return foo | 
其中
| 1 | foo = convert(foo) | 
然而,我想做的事情是:
| 1 | convert(foo) | 
或者,
| 1 | foo.convert() | 
有什么想法吗?
| 1 | foo = convert(foo) | 
是实现这一目标最干净、最明确的方法。如果您确定需要将字符串重新分配给
| 1 | foo.convert() | 
是您可以在需要定义的类实例上执行的操作。你能做到,但这不值得麻烦。只需重新分配变量,就可以了。
| 1 | convert(foo) # actually, just convert() | 
也可以,但是您必须在
| 1 2 3 4 5 6 7 8 9 10 11 | In [1]: foo = True In [2]: def convert(): ...: global foo ...: foo = 'on' if foo else 'off' ...: In [3]: convert() In [4]: foo Out[4]: 'on' |