沒有任何一本書或網(wǎng)站能包含所有需要了解的Python內(nèi)容,甚至官方文件也不能,Python的可能性可以說是無限的。
Python的編程也永遠(yuǎn)也學(xué)不完,你可能會(huì)不斷發(fā)現(xiàn)Python中有用的新功能,而且需要學(xué)習(xí)的內(nèi)容太多了。
多年來我一直在用Python編寫代碼,也發(fā)現(xiàn)了一些有趣的、非常獨(dú)特的Python功能,這些都是在其他編程語言中找不到的。
下面是Python初學(xué)者可能會(huì)覺得有用的4個(gè)隱藏Python功能。
一起來看看吧~
1.比較運(yùn)算符鏈接
要檢查a中的值是否在0到100的范圍內(nèi),需要進(jìn)行兩次比較,并使用and組合起來:0<=aanda<=100。這很容易。
但是可以以一種更易于閱讀的直觀的方式來將這些比較鏈接起來:0<=a<=100。解釋器將它們分開,并讀取比較操作,如0<=aanda<=100。
a=25
0<=a<=100#True
0<=aanda<=100#True
#ThetwoexpressionsaboveareequivalentinPython
鏈接還可以更長(zhǎng),比如0 2.值的交換 如何在Python中交換兩個(gè)對(duì)象的值?簡(jiǎn)單!只需創(chuàng)建一個(gè)臨時(shí)對(duì)象temp,就像在其他語言中所做的那樣。 #Standardwaytoswapvaluesoftwoobjectsinotherlanguages temp=a a=b b=temp 但這不是很易讀,也不好看。實(shí)際上,使用Python中的一行代碼就可以輕松地交換這些值。 #StandardPythonwaytoswapvalues 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中的條件語句嗎? while循環(huán),ok了。 for循環(huán)也不難。 ifelse語句也學(xué)會(huì)了。 那forelse語句呢? deftest(nums): foriinnums: ifi==0:#iftheconditionissatisfied,ithitsbreakandtheelseblockwillnotrun print('Thereisa0.') break else: print('Thereareno0s.') test([1,2,3,0])#Thereisa0. test([1,2,3])#Thereareno0s. 代碼來自GitHub,viewrawfor-else.py else塊中的代碼只有在for循環(huán)沒有遇到break語句且正常退出時(shí)才會(huì)運(yùn)行。 那么這個(gè)for-else循環(huán)有什么用呢?可能用戶已經(jīng)三次嘗試在一個(gè)for_inrange(3)循環(huán)中輸入正確的密碼,只有正確的密碼才會(huì)激活break語句。連續(xù)3次猜錯(cuò)密碼的結(jié)果就進(jìn)入else塊,例如鎖定系統(tǒng)。 4.擴(kuò)展切片 可以使用語法a[start:stop:step]對(duì)列表a切片,并使用一個(gè)可選的第三參數(shù)。讀取從起始點(diǎn)開始,到結(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] 通過將step參數(shù)設(shè)置為-1,可以簡(jiǎn)單地用[::-1]來反轉(zhuǎn)列表。如果未指定step,則默認(rèn)為1,這意味著沒有元素跳過或列表反轉(zhuǎn)。 掌握這4個(gè)隱藏Python功能,擺脫“菜鳥稱號(hào)”吧。 以上內(nèi)容為大家介紹了初學(xué)者應(yīng)該知道的4個(gè)Python隱藏功能?希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)