當我嘗試以下方法,我得到一個錯誤Python的關鍵字參數引用對方
def test_func(key1=2.7, key2=key1*3.5):
print(key1, key2)
NameError: name 'key1' is not defined
我的解決辦法是像
def test_func(key1=2.7, key2=None):
if not key2:
key2 = key1*3.5
print(key1, key2)
但是這看起來有點醜我。有沒有人有更好的解決方案?
編輯:
所以我最終的解決辦法是
def test_func(key1=2.7, key2=None):
if key2 is not None:
key2 = key1*3.5
print(key1, key2)
感謝所有答案
也許你甚至應該改變,要明確的是'KEY2不None' ,否則用戶將無法通過'0'作爲第二個參數。 – 2013-02-24 11:05:35
數字只是一個例子,我使用的功能看起來很不一樣,但你是對的。我沒有想到這一點。 – Peter 2013-02-24 11:12:57