日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python编程语言一览_编程语言学习:python有趣用法汇总

發(fā)布時(shí)間:2024/9/18 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python编程语言一览_编程语言学习:python有趣用法汇总 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

用python過(guò)程中經(jīng)常會(huì)不經(jīng)意間遇到非常有趣的用法,于是特意搜集了一些。

有趣的用法

1.for-else用法

循環(huán)正常結(jié)束則執(zhí)行else語(yǔ)句。一般用于循環(huán)找符合條件的元素,如果找到則break調(diào)出循環(huán),不會(huì)觸發(fā)else;如果沒(méi)有找到(完整運(yùn)行循環(huán))則print not found

《Effictive Python》一書(shū)中對(duì)for-else用法提出了質(zhì)疑,主要觀點(diǎn)是可以通過(guò)封裝成函數(shù)來(lái)取代這一用法,而封裝成函數(shù)是更加通用易懂的做法,所以一般不會(huì)使用for-else用法。

2.try-else用法

如果沒(méi)有觸發(fā)異常就執(zhí)行else

參考:https://eastlakeside.gitbooks.io/interpy-zh/content/exception/try_else_clause.html

3.解包用法

類似這樣a,b,c = [‘a(chǎn)’, ‘b’, ‘c’]

python有趣的解包用法:https://zhuanlan.zhihu.com/p/33896402

4.單行if-else

5.迭代器傳入函數(shù)中不用加括號(hào)

7.or的用法

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

我們會(huì)經(jīng)常看到類似這樣的用法(比如函數(shù)的一個(gè)value參數(shù)沒(méi)有設(shè)置默認(rèn)值,這樣使用就允許它不賦值)

8.and的用法

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

x and y and z多個(gè)and連接時(shí),如果全是真結(jié)果就是最后一個(gè)的值;如果中間有假的值,結(jié)果就是第一個(gè)假的值

舉一個(gè)例子

細(xì)細(xì)品味and和or的差別,他們邏輯類似,但是實(shí)現(xiàn)的功能是不可以相互替代的

or 是結(jié)果如果不滿意有個(gè)善后工作

and是要做一件事之前先檢驗(yàn)一下,不能做就不讓它做

9.if value:

這里總結(jié)一下這種情況下什么時(shí)候是True,什么時(shí)候是False

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

True:

‘ ‘ ‘a(chǎn)nything’ [”] [0] (None, )

沒(méi)有內(nèi)容的可迭代對(duì)象

另外要注意一點(diǎn),我們用if判斷一個(gè)對(duì)象是不是None的時(shí)候,要if a is None而不要直接if a,因?yàn)槿绻呛笳?#xff0c;有非常多不是None的情況也會(huì)判定為False,比如空字符串、空列表等,為了精確指定None還是要用前者,這也是一種規(guī)范。

10.下劃線的特殊使用

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

詳見(jiàn)python中下劃線的使用:https://zhuanlan.zhihu.com/p/33866181

11.文檔字符串

python有一種獨(dú)一無(wú)二的注釋方式,在包、模塊、函數(shù)、類中第一句,使用”’doc”’這樣三引號(hào)注釋,就可以在對(duì)象中用__doc__的方式提取

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

其實(shí)參數(shù)還有其他的寫(xiě)法,如numpy庫(kù)的寫(xiě)法,可以看這里:https://python-guide.gitbooks.io/python-style-guide/content/style-guide/comment_and_docs.html

除此之外,函數(shù)注釋還有另一種方式,函數(shù)名可以直接調(diào)用某個(gè)參數(shù)的注釋,詳見(jiàn)Python 的函數(shù)注釋:https://segmentfault.com/a/1190000005173184

有用的函數(shù)

1.sum的本質(zhì)

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

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

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

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

3.enumerate循環(huán)索引

4.管道操作

func1(func2(func3(a)))寫(xiě)成類似a %>% func3 %>% func2 %>% func1,清晰展示函數(shù)執(zhí)行的順序,增強(qiáng)可讀性

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

其他

另外,就是一些基礎(chǔ)的

列表推導(dǎo)式

裝飾器

生成器

map reduce filter

鏈?zhǔn)奖容^

類的魔術(shù)方法:https://zhuanlan.zhihu.com/p/31161355

學(xué)習(xí)代碼規(guī)范可以參考下面資料

PEP8: https://www.python.org/dev/peps/pep-0008/

Python 代碼、單元測(cè)試和項(xiàng)目規(guī)范:https://python-guide.gitbooks.io/python-style-guide/content/index.html

google開(kāi)源項(xiàng)目風(fēng)格指南:http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/contents/

更新補(bǔ)充

for-else的更多討論

下面引用《Effictive Python》一書(shū)中內(nèi)容

a = 4 b = 9

結(jié)尾:

總結(jié)起來(lái)就是for-else的優(yōu)勢(shì)是可以被寫(xiě)函數(shù)的方式替代的

總結(jié)

以上是生活随笔為你收集整理的python编程语言一览_编程语言学习:python有趣用法汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。