python代码阅读技巧_30个Python程序员需要知道的编程技巧,可以让你的工作事半功倍!...
1.直接交換2個(gè)數(shù)字的位置
Python 提供了一種直觀的方式在一行代碼中賦值和交換(變量值)。如下所示:
在上面代碼中,賦值的右側(cè)形成了一個(gè)新元組,而左側(cè)則立刻將該(未被引用的)元組解包到名稱和。
待賦值完成后,新元組就變成了未被引用狀態(tài),并且被標(biāo)為可被垃圾回收,最終也就發(fā)生了數(shù)字交換。
2.鏈接比較操作符
比較運(yùn)算符的聚合是另一種有時(shí)用起來很順手的技巧。
3.使用三元操作符進(jìn)行條件賦值
三元操作符是 if-else 語句(也就是條件操作符)的快捷操作
下面舉兩個(gè)例子例子,展示一下可以用這種技巧讓你的代碼更緊湊更簡(jiǎn)潔。
下面的語句意思是“如果 y 為 9,就向 x 賦值 10,否則向 x 賦值 20”。如果需要,我們可以擴(kuò)展這個(gè)操作符鏈接:
同樣,我們對(duì)類對(duì)象也可以這樣操作:
在上面這個(gè)例子中,classA 與 classB 是兩個(gè)類,其中一個(gè)類構(gòu)造函數(shù)會(huì)被調(diào)用。
4.使用多行字符串
這個(gè)方法就是使用源自 C 語言的反斜杠:
另一個(gè)技巧就是用三引號(hào):
上述方法的一個(gè)常見問題就是缺少合適的縮進(jìn),如果我們想縮進(jìn),就會(huì)在字符串中插入空格。
所以最終的解決方案就是將字符串分成多行,并將整個(gè)字符串包含在括號(hào)中:
5.將一個(gè)列表的元素保存到新變量中
我們可以用一個(gè)列表來初始化多個(gè)變量,在解析列表時(shí),變量的數(shù)量不應(yīng)超過列表中的元素?cái)?shù)量,否則會(huì)報(bào)錯(cuò)。
6.打印出導(dǎo)入的模塊的文件路徑
如果你想知道代碼中導(dǎo)入的模塊的絕對(duì)路徑,用下面這條技巧就行了:
7.使用交互式“_”操作符
其實(shí)這是個(gè)相當(dāng)有用的功能,只是我們很多人并沒有注意到。
在 Python 控制臺(tái)中,每當(dāng)我們測(cè)試一個(gè)表達(dá)式或調(diào)用一個(gè)函數(shù)時(shí),結(jié)果都會(huì)分配一個(gè)臨時(shí)名稱,_(一條下劃線)。
這里的“_”是上一個(gè)執(zhí)行的表達(dá)式的結(jié)果。推薦下小編的Python學(xué)習(xí)q u n 227-435-450,不管你是小白還是大牛,小編我都?xì)g迎,不定期分享干貨,包括小編自己整理的一份2018最新的Python資料和0基礎(chǔ)入門教程,歡迎初學(xué)和進(jìn)階中的小伙伴。在不忙的時(shí)間我會(huì)給大家解惑。
8.字典/集合推導(dǎo)
就像我們使用列表表達(dá)式一樣,我們也可以使用字典/集合推導(dǎo)。非常簡(jiǎn)單易用,也很有效,示例如下:
注意:在這兩個(gè)語句中,<:>只有一處差異。另外,如果想用 Python3 運(yùn)行以上代碼,要把 替換為 。
9.調(diào)試腳本
我們可以借助 模塊在 Python 腳本中設(shè)置斷點(diǎn),如下所示:
我們可以在腳本的任意位置指定 ,然后在那里設(shè)置一個(gè)斷點(diǎn),非常方便。
10.設(shè)置文件分享
Python 能讓我們運(yùn)行 HTTP 服務(wù)器,可以用于分享服務(wù)器根目錄中的文件。啟動(dòng)服務(wù)器的命令如下:
上述命令會(huì)在默認(rèn)端口 8000 啟動(dòng)一個(gè)服務(wù)器,你也可以使用自定義端口,將端口作為最后元素傳入上述命令中即可。
11.在Python中檢查對(duì)象
我們可以通過調(diào)用 dir() 方法在 Python 中檢查對(duì)象,下面是一個(gè)簡(jiǎn)單的例子:
12.簡(jiǎn)化if語句
我們可以通過如下方式來驗(yàn)證多個(gè)值:
if m in [1,3,5,7]:
而不用這樣:
if m==1 or m==3 or m==5 or m==7:
對(duì)于in操作符,我們也可以用‘{1,3,5,7}’而不是‘[1,3,5,7]’,因?yàn)椤畇et’可以通過O(1)獲取每個(gè)元素。
13.在運(yùn)行時(shí)檢測(cè)Python的版本
有時(shí)如果當(dāng)前運(yùn)行的 Python 低于支持版本時(shí),我們可能不想執(zhí)行程序。那么就可以用下面的代碼腳本檢測(cè) Python 的版本。還能以可讀格式打印出當(dāng)前所用的 Python 版本。
另外,你可以將上面代碼中的 sys.hexversion!= 50660080 替換為 sys.version_info >= (3, 5)。
在 Python 2.7 中運(yùn)行輸出為:
在Python 3.5中運(yùn)行輸出為:
14.組合多個(gè)字符串
如果你想拼接列表中的所有 token,那么看看下面的例子就明白了:
>>> test = ['I', 'Like', 'Python', 'automation']
現(xiàn)在我們從上面列表的元素中創(chuàng)建一個(gè)字符串:
>>> print ''.join(test)
15.翻轉(zhuǎn)字符串/列表的4種方式
我們會(huì)得到結(jié)果“nohtyP tseT”。
上面的命令會(huì)得到輸出結(jié)果 [5, 3, 1]。
16.使用枚舉
使用枚舉可以很容易地在循環(huán)中找到索引:
17.在 Python 中使用枚舉量
我們可以用如下方法來創(chuàng)建枚舉定義:
18.從函數(shù)中返回多個(gè)值
支持這種功能的編程語言并不多,然而,Python 中的函數(shù)可以返回多個(gè)值。
可以參考下面的例子看看是怎么做到的:
19.使用*運(yùn)算符解壓縮函數(shù)參數(shù)
*運(yùn)算符提供了一種很藝術(shù)的方式來解壓縮參數(shù)列表,參看如下示例:
20.使用字典來存儲(chǔ)表達(dá)式
21.一行代碼計(jì)算任何數(shù)字的階乘
22.找到一個(gè)列表中的出現(xiàn)最頻繁的值
23.重置遞歸限制
Python 將遞歸限制到 1000,我們可以重置這個(gè)值:
提示:在有必要時(shí)才使用該技巧。
24.檢查一個(gè)對(duì)象的內(nèi)存使用
在 Python 2.7 中,一個(gè) 32-bit 的整數(shù)值會(huì)占用 24 字節(jié),而在 Python 3.5 中會(huì)占用 28 字節(jié)。我們可以調(diào)用 方法來驗(yàn)證內(nèi)存使用。
在 Python 2.7 中:
在 Python 3.5 中:
25.使用_slots_減少內(nèi)存消耗
不知道你是否注意過你的 Python 程序會(huì)占用很多資源,特別是內(nèi)存?這里分享給你一個(gè)技巧,使用 <__slots__> 類變量來減少程序的內(nèi)存消耗。
很明顯,從解雇中可以看到節(jié)省了一些內(nèi)存。但是應(yīng)當(dāng)在一個(gè)類的內(nèi)存占用大得沒有必要時(shí)再使用這種方法。對(duì)應(yīng)用進(jìn)行性能分析后再使用它,不然除了會(huì)讓代碼難以改動(dòng)外沒有什么好處。
26.使用拉姆達(dá)來模仿輸出方法
27.從兩個(gè)相關(guān)序列中創(chuàng)建一個(gè)字典
28.用一行代碼搜索字符串的前后綴
29.不使用任何循環(huán),構(gòu)造一個(gè)列表
如果輸入列表中有嵌入的列表或元組作為元素,那么就使用下面這種方法,不過也有個(gè)局限,它使用了 for 循環(huán):
30.在Python中實(shí)現(xiàn)一個(gè)真正的switch-case語句
下面是使用字典模仿一個(gè) switch-case 構(gòu)造的代碼示例:
結(jié)語
希望上面列出的這些 Python 技巧和建議能幫你快速和高效地完成 Python 開發(fā),可以在項(xiàng)目中應(yīng)用它們。歡迎留言評(píng)論!
總結(jié)
以上是生活随笔為你收集整理的python代码阅读技巧_30个Python程序员需要知道的编程技巧,可以让你的工作事半功倍!...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python标准库有多强大_Python
- 下一篇: asic面试题目 英伟达_英伟达一面总结