我想編寫一個函數,該函數的默認值是該函數的另一個輸入。我想這樣的事情:也使用python函數arg作爲默認參數
def pythag_thm(a, b=a):
return (a**2 + b**2)**.5
但我得到一個NameError: name 'a' is not defined
。我意識到我可以做類似這樣的事情:
def pythag_thm(a, b=False):
if b==False:
return (a**2 + a**2)**.5
else:
return (a**2 + b**2)**.5
但是這看起來不太「pythonic」。有沒有一種乾淨的方式來做到這一點?我只是在錯誤地思考這個問題?
小心,如果b爲0,則由於0 ==假,你會得到一個驚喜錯誤 – 2013-02-14 22:17:34