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































