學無止境。
沒有任何一本書或網站能包含所有需要了解的Python內容,甚至官方文件也不能,Python的可能性可以說是無限的。
Python的編程也永遠也學不完,你可能會不斷髮現Python中有用的新功能,而且需要學習的內容太多了。
這是小編準備的python學習資料,為了你們更好的學習python,關注,轉發,私信小編“01”即可免費領取!
多年來我一直在用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功能,擺脫“菜鳥稱號”吧。
閱讀更多 程序員編程分享 的文章