【Python】Effective Python 读书笔记
用輔助函數(shù)來取代復(fù)雜的表達(dá)式 P24
表達(dá)式如果變得比較復(fù)雜,那就應(yīng)該考慮將其拆解成小塊,并把這些邏輯移入輔助函數(shù)中。這會(huì)另代碼更加易讀,它比原來那種密集的寫法更好。編寫Python程序時(shí),不要一味追求過于緊湊的寫法,那樣會(huì)寫出非常復(fù)雜的表達(dá)式。
開發(fā)者很容易過度運(yùn)用Python的語法特性,從而寫出那種特別復(fù)雜并且難以理解的單行表達(dá)式。
請(qǐng)把復(fù)雜的表達(dá)式移入輔助函數(shù)之中,如果要反復(fù)使用相同的邏輯,那就更應(yīng)該這么做。
使用if/else表達(dá)式,要比用or或and這樣的Boolean操作符寫成的表達(dá)式更加清晰。
了解序列切割的辦法
不重新分配新的列表:
a = [1,2,3,4,5,6,7] b = a # b與a指向同一個(gè)對(duì)象,改變b的值會(huì)改變a重新賦值:
a = [1,2,3,4,5,6,7] b = a[:] # b與a指向不同的對(duì)象,改變b的值,不會(huì)對(duì)a有影響內(nèi)置的zip函數(shù)可以平行地遍歷多個(gè)迭代器
如果提供的迭代器長度不等,那么zip就會(huì)自動(dòng)提前終止。
用異常來表示特殊情況,而不要返回None
不返回None,而是把異常拋給上一級(jí),使得調(diào)用者必須應(yīng)對(duì)它。
用None這個(gè)返回值來表示特殊意義的函數(shù),很容易使調(diào)用者犯錯(cuò),因?yàn)镹one和0及空字符串之類的值,在條件表達(dá)式里都會(huì)評(píng)估為False。
函數(shù)在遇到特殊情況時(shí),應(yīng)該拋出異常,而不要返回None。調(diào)用者看到該函數(shù)的文檔中所描述的異常之后,應(yīng)該就會(huì)編寫響應(yīng)的代碼來處理他們了。
總結(jié)
以上是生活随笔為你收集整理的【Python】Effective Python 读书笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Jenkins】持续集成、持续交付与持
- 下一篇: 【Python】import panda