0
我有一個函數,它應該有一個可選參數。我希望可選參數與其他參數相同。例如:Python - 如何設置默認參數等於另一個參數
def foo(arg1, arg2, src, dst=src):
...
...
參數dst
是可選項之一。當調用foo
時沒有給出dst
時,它應該與src
相同。
任何想法?
謝謝
我有一個函數,它應該有一個可選參數。我希望可選參數與其他參數相同。例如:Python - 如何設置默認參數等於另一個參數
def foo(arg1, arg2, src, dst=src):
...
...
參數dst
是可選項之一。當調用foo
時沒有給出dst
時,它應該與src
相同。
任何想法?
謝謝
這個怎麼樣?
def foo(arg1, arg2, src, dst=None):
dst = dst if dst is not None else src
測試:
>>> def foo(arg1, arg2, src, dst=None):
... dst = dst if dst is not None else src
... print dst
...
>>> foo(0, 0, "test")
test
繼@TanveerAlam的評論,我不想讓你的參數假設(怎麼辦?如果dst
可以False
),我沒有使用在我原來的帖子中較短的版本,我會留在這裏作爲參考:
def foo(arg1, arg2, src, dst=None):
dst = dst if dst else src
或ev EN:
def foo(arg1, arg2, src, dst=None):
dst = dst or src
注意,這些版本將阻止dst
比None
其他值(如False
,[]
...)
是啊,這是偉大的,非常感謝你! :) – user1967718 2015-03-02 08:35:13
'dst = dst if dst else src'這會工作,因爲'None'的'bool'值是'False'。 – 2015-03-02 08:37:16
我寧願'dst = dst或src'。有點更清楚,重複性更低,並且依賴於與dst相同的行爲,如果dst else src – Kroltan 2015-03-02 08:50:10