12個Python技巧你Get了嗎?
如果讀者對基本的 Python語法已經(jīng)有一些了解,那么這篇文章可能會給你一些啟發(fā)。不啰嗦,直接上干貨,以下內(nèi)容絕對可以幫到你喲~
1. 列表理解
列表理解可以代替丑陋的for循環(huán)來填充列表。列表理解的基本語法為:
- expression for item in list if conditional
一個非常簡單的示例,用數(shù)字序列填充列表:
- i for i in range(10)
因為可以使用表達式,所以還可以進行一些數(shù)學(xué)運算或調(diào)用外部函數(shù)。
最后,你可以使用if篩選列表。在這種情況下,我們僅保留可被2整除的值:
- i for i in range(10) if i%2==0
2. 檢查對象的內(nèi)存使用情況
使用sys.getsizeof(),你可以檢查對象的內(nèi)存使用情況。
3. 返回多個值
Python中的函數(shù)可以返回多個變量,而無需字典,列表或類。
對于有限數(shù)量的返回值,這是可以的。但是超過3個值的任何內(nèi)容都應(yīng)放入類中。
4. 使用data類
與常規(guī)類或其他替代方法(如返回多個值或字典)相比,它具有多個優(yōu)點:
- 數(shù)據(jù)類需要最少的代碼
- 你可以比較data類,因為它__eq__已為您實現(xiàn)
- 你也可以輕松打印數(shù)據(jù)類以進行調(diào)試,因為它__repr__也已實現(xiàn)
- data類需要類型提示,從而減少了發(fā)生錯誤的機會
5. 就地變量交換
一項巧妙的小技巧,可以節(jié)省幾行代碼。
- a,bb = b,a
6. 合并字典(Python 3.5+)
從Python 3.5開始,合并字典變得更加容易:
如果鍵(key)重疊,則第一個詞典中的鍵(key)將被覆蓋。
7. 首字母大小寫
使用capitalize()函數(shù)將字符串的首字母轉(zhuǎn)為大寫,其余變?yōu)樾憽?/p>
- "welcome".capitalize()
8. 將字符串拆分為列表
你可以將字符串拆分為字符串列表。在這種情況下,我們分割空格字符:
- list("welcome")
9. 快速創(chuàng)建Web服務(wù)器
你可以快速啟動Web服務(wù)器,以提供當前目錄的內(nèi)容:
- python3 -m http.server
如果你想與同事共享一些東西或想要測試一個簡單的HTML網(wǎng)站,這將很有用。
10. 多行字符串
盡管可以在代碼中使用三引號將多行字符串包括在內(nèi),但這并不理想。放在三引號之間的所有內(nèi)容都將成為字符串,包括格式,如下所示。我更喜歡第二種方法,該方法將多行連接在一起,可以很好地格式化代碼。唯一的缺點是你需要顯式添加換行符。
11. 比較運算符的鏈接
您可以在Python中鏈接比較運算符,以創(chuàng)建更易讀和簡潔的代碼:
12. 處理日期
python-dateutil模塊提供了對標準datetime模塊的強大擴展。通過以下方式安裝:
- pip3 install python-dateutil
你可以用這個庫做很多很酷的事情。我將把示例限制在我認為特別有用的一個:日志文件中日期的模糊解析等。
只需記?。撼R?guī)的Python日期時間功能在哪里結(jié)束,python-dateutil就出現(xiàn)了!