2010-06-21 55 views
1

是否有可能做這樣的事情:Python的參數?

def foo(bar, success) 
    success = True 
    # ... 

>>> success = False 
>>> foo(bar1, success) 
>>> success 
True 

確實Python的有OUT參數,或者一個簡單的方法來模擬他們? (除了與父母的堆棧幀混淆)。

回答

0

是的,把它們放在一個字典中,就像通過字典作爲參數一樣。我認爲這是在主要的Python官方教程中的某處。

6

您有多個返回值。

def foo(bar) 
    return 1, 2, True 

x, y, success = foo(bar1) 
0

在python中,你不能從函數內部更新一個不可變的類型(比如你的例子中的布爾值或者一個int或者一個字符串或者一個元組,......)。期。因此,您的選項如前面的答案中所示:

  1. 將不可變類型包裝爲可變類型(如列表,數組或對象)。
  2. 使用多個返回值