Python:如何传递对函数的引用

Bin*_*hen 4 python

IMO python 如果参数是基本类型(如数字、布尔值),则按值传递

func_a(bool_value):
    bool_value = True
Run Code Online (Sandbox Code Playgroud)

不会改变外面bool_value吧?

所以我的问题是如何使更改bool_value在外部生效(通过引用传递?

ars*_*ars 7

您可以使用列表来括起 inout 变量:

def func(container):
    container[0] = True


container = [False]
func(container)
print container[0]
Run Code Online (Sandbox Code Playgroud)

按值调用/按引用调用的用词不当是一个古老的争论。CLU 的调用共享更准确地描述了 Python 的语义。有关更多详细信息,请参阅 Fredrik Lundh 的文章: