與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚



與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

Python語言這麼火,有很多同學是從其他語言轉行過來的(比如c++,java語言),多多少少寫代碼的時候也會受其他語言的影響!而對於剛開始學語言的小白同學來說,解決問題的思路有的時候會比較單一,其實Python有很多靈活的解法,今天通過這7招,帶你寫出一手漂亮的code!

打印index

對於一個列表,或者說一個序列我們經常需要打印它的index,一般傳統的做法或者說比較low的寫法:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

更優雅的寫法是多用enumerate

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

兩個序列的循環

我們會經常對兩個序列進行計算或者處理,比較low的方法是用下標去循環處理

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

更優雅一點的方法:用zip輕鬆搞定

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

有沒有更優雅的方法呢,比如如果兩個序列有10000的長度,當然有的用izip

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

當然izip還是Py2.x時代的產物,現在Py3.6裡面默認zip都是izip了!

交換變量

多個變量之間的交換,相信很多有c,c++語言基礎的同學對這個再熟悉不過了,比如我們經典的冒泡排序,就會用這一招,看看比較傳統的做法:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

更優雅的做法是:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

字典的讀取

字典是我們經常使用的數據結構,對於字典的訪問和讀取,如果我們的讀取的字典的key為空怎麼辦,一般我們需要一個缺省值,菜鳥的寫法:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

比較優雅的做法是:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

巧妙的利用了字典get的用法,如果字典裡面沒有Susan這個key,則用unknow來表示缺省值!

循環查找

我們經常會在一個大的循環中作搜索業務,比如從一個文件中搜索關鍵字,比如從文件名列表中查找一些特殊的文件名,想當然的寫法如下:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

更優雅的寫法:上面的寫法是傳統的c,c++寫法,Python裡面有更簡潔的寫法:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

文件讀取查找

通常來說,我們要打開一個文件,然後對文件的內容進行循環讀取和處理,菜鳥的寫法如下:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

更優雅的寫法:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

關於鎖的寫法

對於併發操作尤其是多線程的操作,我們對同一塊內存進行讀寫操作的時候,通常我們都加鎖保護的,想當然的寫法如下:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚

上面這樣的寫法我自己寫了很多年,覺得沒有啥問題啊,後來遇到下面的寫法,瞬間膜拜了!

更優雅的寫法:

與眾不同的7個Python代碼寫法,讓你寫出一手漂亮的代碼!超讚



分享到:


相關文章: