可能的重复:
Python:如何通过引用传递变量? https://stackoverflow.com/questions/986006/python-how-do-i-pass-a-variable-by-reference
如何为作为函数参数传递的变量重新赋值?
例如,我想做的是:
foo = True
def convert(foo):
if foo == True:
foo = 'on'
elif foo == False:
foo = 'off'
return foo
where foo
现在是一个字符串。上述方法的问题在于,为了改变foo
从布尔类型到字符串类型必须传递以下内容:
foo = convert(foo)
而我想做类似的事情:
convert(foo)
or,
foo.convert()
有任何想法吗?
foo = convert(foo)
是实现这一目标的最干净、最明确的方法。这是大多数人推荐的方式,如果您确定您甚至需要将字符串分配给bool
多变的。
foo.convert()
是您可以对需要定义的类的实例执行的操作。你可以做到,但不值得这么麻烦。只需重新分配变量即可。
convert(foo) # actually, just convert()
也可以工作,但你必须使用global
中的关键字convert
功能。不建议这样做,尤其是当它很容易避免时。
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'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)