2015-04-25 188 views
-2

我對Python很陌生,所以我通過Pro Python閱讀,它有關於傳遞變量關鍵字參數的函數。在閱讀完這部分之後,我寫了下面的代碼,它似乎不起作用。Python - 將參數傳遞給函數

def fun(**a): 
    return a['height'] if a is not {} else 0 
+0

顯示你的代碼,請 – user3818650

+0

高清樂趣(**一):返回[ '高度']如果不{}否則爲0 –

+0

代碼,請。 – skyline75489

回答

4

參數中的空散列不保證與新創建的空散列相同。

嘗試使用a != {}或僅僅a['height'] if a else 0進行比較。

甚至沒有檢查:

return a.get('height', 0) 
+1

得到的是一個很好的建議。畢竟,{'spam':3}不等於{}或falsey,但它仍然沒有他的密鑰... – abarnert