2017-05-05 65 views
0

我以爲我理解none作爲一個有用的工具來適應缺少參數的常量。但是,我遇到過這種情況,這並不成立,我不明白爲什麼。Python:使用時沒有意想不到的結果

例如:

def boxarea(l,w,h): 
    if h is not None: 
     area = l*w*h 
    else: 
     area = l*w 
    return area 

def main(): 
    a = boxarea(2,3) 
    print(a) 

if __name__ == "__main__": 
    main() 

回報:

TypeError: boxarea() missing 1 required positional argument: 'h' 

爲什麼沒有這只是返回6?有人可以幫忙解釋嗎? `高清boxarea(L,W,H =無):`

+5

可選參數必須有默認值提供你應該初始化h至無。 – vaultah

回答

6

如果沒有參數

def boxarea(l,w,h=None): 
    # your code 
+0

明白了。這一直是這種情況嗎?我見過沒有初始化爲None的舊代碼示例。 – trob

+0

我想你可能已經看到它在python2,但我不知道,我只用python3編碼。 –

相關問題