可能重複:
Python: How do I pass a variable by reference?的Python:重新分配值變量(使用函數)
我怎樣才能重新分配一個值,作爲一個函數參數傳遞的變量?
舉例來說,我所希望做的是:
foo = True
def convert(foo):
if foo == True:
foo = 'on'
elif foo == False:
foo = 'off'
return foo
其中foo
現在是一個字符串。上述的方法的問題是,爲了改變foo
從一個boolean類型爲字符串鍵入以下內容必須通過:
foo = convert(foo)
,而我希望做類似:
convert(foo)
或者,
foo.convert()
任何想法?
聽起來像你想這樣:http://stackoverflow.com/q/986006/21475。另外,值得關注Python的''global''關鍵字(但這裏並不適用)。 – Cameron
查看Lev關於最乾淨(也是最正確)解決方案的回答。如果你堅持能夠在不返回它的情況下更改對象,請將其封裝在類或字典中(例如,簡單的黑客應該使用foo = {True}並傳遞它)。 – Bitwise