通常我們在操作字典時,如果讀取的鍵未被初始化,則會拋出KeyError的錯誤,這個是我們都很熟悉的。那么一般的解決方式是使用異常處理或者是調用字典的get方法來避免出現這個異常。
可以看到,這兩種寫法都比較繁瑣,第二種方式雖然沒有增加什么代碼量,但比起直接使用dict[key]這種方式訪問還是稍顯麻煩,并且每次讀取一個key的時候都要這樣寫,也不優雅。
為了解決這個問題,現在我們有請今天的"豬腳"defaultdic上場。它是python collections模塊的一個內置類,主要作用是方便我們進行快速地全局初始化字典。只需要一句代碼,即可非常優雅地實現所有字典鍵的全局初始化,用法也非常簡單。我們來看看下面這個非常簡單的例子:
大家看到了嗎,只需要一句代碼,就完成了字典的全局初始化。這里首先需要明確的一點是,這個參數int并不是用來約束鍵的類型,也不是約束值的類型,它指的是后面如果我們訪問的key不存在的話,返回什么類型的默認值。比如我們指定int,就返回int類型的默認值0,指定list,就返回列表類型的初始值[]。當然我們可以指定python中任意的基本類型,比如str,list,tuple,dict,float這些都是可以的,返回的就是對應類型的默認值。大家后面在使用這個字典的時候,盡管大膽地訪問任意的鍵,如果該鍵不存在,就將返回對應類型的默認值,什么異常處理、get方法全都不需要了。
怎么樣,是不是非常簡單,你get到了嗎?
注:本文為蝸牛學院資深講師卿淳俊老師原創,首發鏈接https://mp.weixin.qq.com/s/9Qv5-MU00kye4---dSnPZA,切勿擅自盜用,如需轉載請私聊我處獲得授權并注明出處。