初學者應該知道的4個Python隱藏功能?

學無止境。

初學者應該知道的4個Python隱藏功能?

沒有任何一本書或網站能包含所有需要了解的Python內容,甚至官方文件也不能,Python的可能性可以說是無限的。

Python的編程也永遠也學不完,你可能會不斷髮現Python中有用的新功能,而且需要學習的內容太多了。

這是小編準備的python學習資料,為了你們更好的學習python,關注,轉發,私信小編“01”即可免費領取!

初學者應該知道的4個Python隱藏功能?


多年來我一直在用Python編寫代碼,也發現了一些有趣的、非常獨特的Python功能,這些都是在其他編程語言中找不到的。

下面是Python初學者可能會覺得有用的4個隱藏Python功能。

一起來看看吧~

1. 比較運算符鏈接

要檢查a中的值是否在0到100的範圍內,需要進行兩次比較,並使用and組合起來:0 <= a and a <= 100。這很容易。

但是可以以一種更易於閱讀的直觀的方式來將這些比較鏈接起來:0 <= a <= 100。解釋器將它們分開,並讀取比較操作,如0 <= a and a <= 100。

<code>a = 25 
0 <= a <= 100       # True 
0 <= a and a <= 100 # True 
# The two expressions above are equivalent in Python 
/<code>

鏈接還可以更長,比如0 < a < 10 < b < 100。

2. 值的交換

如何在Python中交換兩個對象的值?簡單!只需創建一個臨時對象temp,就像在其他語言中所做的那樣。

<code># Standard way to swap values oftwo objects in other languages 
temp = a 
a = b 
b = temp 
/<code>

但這不是很易讀,也不好看。實際上,使用Python中的一行代碼就可以輕鬆地交換這些值。

<code># Standard Python way to swapvalues 
b, a = a, b 
/<code>

為什麼會這樣?解釋器首先計算右邊的值,並在內存中創建一個元組(a,b),然後在左側,將元組中的兩個元素取出並分別賦給b和a。它實際上交換了分配給a和b的對象。

3. For-else循環

你熟悉Python中的條件語句嗎?

while循環,ok了。

for循環也不難。

if else語句也學會了。

那for else語句呢?

<code>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. 

/<code>

代碼來自GitHub,viewrawfor-else.py

else塊中的代碼只有在for循環沒有遇到break語句且正常退出時才會運行。

那麼這個for-else循環有什麼用呢?可能用戶已經三次嘗試在一個for _ in range(3)循環中輸入正確的密碼,只有正確的密碼才會激活break語句。連續3次猜錯密碼的結果就進入else塊,例如鎖定系統。

4. 擴展切片

可以使用語法a[start:stop:step]對列表a切片,並使用一個可選的第三參數。讀取從起始點開始,到結束點結束的部分序列,步長為step。步長必須是整數,也可以是負數。

<code>a = list(range(10)) 
print(a[::2])   # [0, 2, 4, 6, 8] 
print(a[3::-1]) # [3, 2, 1, 0] 
/<code>

通過將step參數設置為-1,可以簡單地用[::-1]來反轉列表。如果未指定step,則默認為1,這意味著沒有元素跳過或列表反轉。

掌握這4個隱藏Python功能,擺脫“菜鳥稱號”吧。


分享到:


相關文章: