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' |