新聞中心
學(xué)無(wú)止境。

成都創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)喀喇沁,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):028-86922220
沒(méi)有任何一本書(shū)或網(wǎng)站能包含所有需要了解的Python內(nèi)容,甚至官方文件也不能,Python的可能性可以說(shuō)是無(wú)限的。
Python的編程也永遠(yuǎn)也學(xué)不完,你可能會(huì)不斷發(fā)現(xiàn)Python中有用的新功能,而且需要學(xué)習(xí)的內(nèi)容太多了。
多年來(lái)我一直在用Python編寫(xiě)代碼,也發(fā)現(xiàn)了一些有趣的、非常獨(dú)特的Python功能,這些都是在其他編程語(yǔ)言中找不到的。
下面是Python初學(xué)者可能會(huì)覺(jué)得有用的4個(gè)隱藏Python功能。
一起來(lái)看看吧~
1. 比較運(yùn)算符鏈接
要檢查a中的值是否在0到100的范圍內(nèi),需要進(jìn)行兩次比較,并使用and組合起來(lái):0 <= a and a <= 100。這很容易。
但是可以以一種更易于閱讀的直觀(guān)的方式來(lái)將這些比較鏈接起來(lái):0 <= a <= 100。解釋器將它們分開(kāi),并讀取比較操作,如0 <= a and a <= 100。
- a = 25
- 0 <= a <= 100 # True
- 0 <= a and a <= 100 # True
- # The two expressions above are equivalent in Python
鏈接還可以更長(zhǎng),比如0 < a < 10 < b < 100。
2. 值的交換
如何在Python中交換兩個(gè)對(duì)象的值?簡(jiǎn)單!只需創(chuàng)建一個(gè)臨時(shí)對(duì)象temp,就像在其他語(yǔ)言中所做的那樣。
- # Standard way to swap values oftwo objects in other languages
- temp = a
- a = b
- b = temp
但這不是很易讀,也不好看。實(shí)際上,使用Python中的一行代碼就可以輕松地交換這些值。
- # Standard Python way to swapvalues
- b, a = a, b
為什么會(huì)這樣?解釋器首先計(jì)算右邊的值,并在內(nèi)存中創(chuàng)建一個(gè)元組(a,b),然后在左側(cè),將元組中的兩個(gè)元素取出并分別賦給b和a。它實(shí)際上交換了分配給a和b的對(duì)象。
3. For-else循環(huán)
你熟悉Python中的條件語(yǔ)句嗎?
while循環(huán),ok了。
for循環(huán)也不難。
if else語(yǔ)句也學(xué)會(huì)了。
那for else語(yǔ)句呢?
- deftest(nums):
- for i in nums:
- if i ==0: # if the condition is satisfied, it hits break and the else block will not run
- print('There is a 0.')
- break
- else:
- print('There are no 0s.')
- test([1,2,3,0]) # There is a 0.
- test([1,2,3]) # There are no 0s.
代碼來(lái)自GitHub,viewrawfor-else.py
else塊中的代碼只有在for循環(huán)沒(méi)有遇到break語(yǔ)句且正常退出時(shí)才會(huì)運(yùn)行。
那么這個(gè)for-else循環(huán)有什么用呢?可能用戶(hù)已經(jīng)三次嘗試在一個(gè)for _ in range(3)循環(huán)中輸入正確的密碼,只有正確的密碼才會(huì)激活break語(yǔ)句。連續(xù)3次猜錯(cuò)密碼的結(jié)果就進(jìn)入else塊,例如鎖定系統(tǒng)。
4. 擴(kuò)展切片
可以使用語(yǔ)法a[start:stop:step]對(duì)列表a切片,并使用一個(gè)可選的第三參數(shù)。讀取從起始點(diǎn)開(kāi)始,到結(jié)束點(diǎn)結(jié)束的部分序列,步長(zhǎng)為step。步長(zhǎng)必須是整數(shù),也可以是負(fù)數(shù)。
- a = list(range(10))
- print(a[::2]) # [0, 2, 4, 6, 8]
- print(a[3::-1]) # [3, 2, 1, 0]
通過(guò)將step參數(shù)設(shè)置為-1,可以簡(jiǎn)單地用[::-1]來(lái)反轉(zhuǎn)列表。如果未指定step,則默認(rèn)為1,這意味著沒(méi)有元素跳過(guò)或列表反轉(zhuǎn)。
掌握這4個(gè)隱藏Python功能,擺脫“菜鳥(niǎo)稱(chēng)號(hào)”吧。
標(biāo)題名稱(chēng):初學(xué)者應(yīng)該知道的4個(gè)Python隱藏功能?
分享鏈接:http://m.5511xx.com/article/djjodej.html


咨詢(xún)
建站咨詢(xún)
