Python的输出参数?
有没有办法像这样做:
def foo(bar, success)
success = True
# ...
>>> success = False
>>> foo(bar1, success)
>>> success
True
Python 有没有类似于输出参数的功能,或者有没有简单的方法来模拟这种功能?(除了去搞父级的堆栈帧。)
3 个回答
0
在Python中,你不能在函数内部修改不可变类型(比如你例子中的布尔值、整数、字符串或元组等等)。就是这样。所以你可以选择以下几种方法:
- 把不可变类型放在一个可变类型里面(比如列表、数组或对象)。
- 使用多个返回值。
5
你有多个返回值。
def foo(bar)
return 1, 2, True
x, y, success = foo(bar1)
0
没错,把它们放到一个字典里,然后把这个字典作为参数传递。我记得在Python的官方教程里有提到过这个。