91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

有趣的Python用法有哪些

發布時間:2021-11-20 16:32:12 來源:億速云 閱讀:151 作者:iii 欄目:編程語言

這篇文章主要講解了“有趣的Python用法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“有趣的Python用法有哪些”吧!

有趣的用法

1.for-else用法

循環正常結束則執行else語句。一般用于循環找符合條件的元素,如果找到則break調出循環,不會觸發else;如果沒有找到(完整運行循環)則print not found

《Effictive Python》一書中對for-else用法提出了質疑,主要觀點是可以通過封裝成函數來取代這一用法,而封裝成函數是更加通用易懂的做法,所以一般不會使用for-else用法。

2.try-else用法

如果沒有觸發異常就執行else

3.解包用法

類似這樣a,b,c = ['a', 'b', 'c']

4.單行if-else

a = 1
b = 3 
if a == 1 
else 2
print('it is one' if a == 1 else 'no')

5.迭代器傳入函數中不用加括號

# 一般是這樣
a = (i for i in range(10))
sum(a)
# 我們可以這樣
sum((i for i in range(10)))
# 但我們還可以這樣
sum(i for i in range(10))
# 類似的有
' '.join(str(i) for i in range(10))

7.or的用法

python中x or y表示如果x為真就是x的值,否則為y的值

我們會經常看到類似這樣的用法(比如函數的一個value參數沒有設置默認值,這樣使用就允許它不賦值)

value = value or {}
# 相當于
value = value if value else {}

8.and的用法

python中x and y表示如果x是假,結果就是x的值,否則就是y的值

x and y and z多個and連接時,如果全是真結果就是最后一個的值;如果中間有假的值,結果就是第一個假的值

舉一個例子

def not_empty(a):
    return a and a.strip()
not_empty(' a ')
# 值為 'a'
not_empty(None)
# 不會報錯(如果 return a.strip() 就會報錯)
# 在處理None的問題上相當于
def not_empty(a):
    if a is None:
        return None
    else:
        return a.strip()

細細品味and和or的差別,他們邏輯類似,但是實現的功能是不可以相互替代的

  • or 是結果如果不滿意有個善后工作

  • and是要做一件事之前先檢驗一下,不能做就不讓它做

9.if value:

# 要用
if value:
# 不要用
if value == True:

這里總結一下這種情況下什么時候是True,什么時候是False

False: 0 0.0 '' [] {} () set() None False

True:

  • ' ' 'anything' [''] [0] (None, )

  • 沒有內容的可迭代對象

另外要注意一點,我們用if判斷一個對象是不是None的時候,要if a is None而不要直接if a,因為如果是后者,有非常多不是None的情況也會判定為False,比如空字符串、空列表等,為了精確指定None還是要用前者,這也是一種規范。

10.下劃線的特殊使用

python中下劃線是一種特殊的變量和符號,有一些特殊的用途

11.文檔字符串

python有一種獨一無二的注釋方式,在包、模塊、函數、類中第一句,使用'''doc'''這樣三引號注釋,就可以在對象中用__doc__的方式提取

比較規范的寫法是這樣的(這里參考grequests模塊的寫法)

def myfun(a, b):
    '''add two numbers
    :param a: one number
    :param b: another number
    :returns: a number
    '''
    print(a + b)
print(myfun.__doc__)
# 結果為
add two numbers
    :param a: one number
    :param b: another number
    :returns: a number

其實參數還有其他的寫法,如numpy庫的寫法,可以看 這里

除此之外,函數注釋還有另一種方式,函數名可以直接調用某個參數的注釋

有用的函數

1.sum的本質

本質:sum(iterable, start=0)將可迭代對象使用+連接

所以sum([[1,2],[3,4]], [])返回結果為[1, 2, 3, 4]

2.range(start, stop[, step])

可以直接用for i in range(10, 0, -1)降序循環

3.enumerate循環索引

for index, item in enumerate(['a', 'b', 'c']):
    print(index, item)
輸出:
0 a
1 b
2 c

4.管道操作

func1(func2(func3(a)))寫成類似a %>% func3 %>% func2 %>% func1,清晰展示函數執行的順序,增強可讀性

python本身不帶有這樣的用法,只是一些庫提供了這樣的用法,比如pandas和syntax_suga

感謝各位的閱讀,以上就是“有趣的Python用法有哪些”的內容了,經過本文的學習后,相信大家對有趣的Python用法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

孝感市| 沧州市| 宝清县| 甘泉县| 阿尔山市| 张家港市| 万载县| 常熟市| 泽州县| 榆社县| 如东县| 安塞县| 大竹县| 泉州市| 丹寨县| 深圳市| 麦盖提县| 寻甸| 依安县| 吉木乃县| 溧阳市| 兴国县| 合川市| 建水县| 满城县| 深泽县| 闽侯县| 镇赉县| 巴东县| 宁德市| 五台县| 遵化市| 武隆县| 桓台县| 双鸭山市| 宁晋县| 黄平县| 名山县| 清水河县| 西畴县| 安泽县|