国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

分享6個隱藏的python功能

2020-02-16 10:59:29
字體:
供稿:網(wǎng)友

小編在以前給大家介紹過python一些很少用到的功能,這次我們給大家分享了6個隱藏的python功能,學(xué)習(xí)下。

在python的設(shè)計(jì)哲學(xué)中,有這么一條內(nèi)容:“Simple is better than complex”,簡單的代碼比復(fù)雜的要好,這也是為什么python被推薦為初學(xué)者必學(xué)的語言。很多人初學(xué)python,往往會受到其他語言的影響,比如之前學(xué)過java的,把python代碼寫的像java一樣。舉個例子,在java中設(shè)計(jì)一個類時(shí),我們常常會為內(nèi)部變量定義get和set方法,這是保證封裝性的重要手段,但是在python中卻不建議這樣做,python中的內(nèi)部變量使用單下劃線表示(比如self.__name),不過這樣定義了還是可以訪問到私有變量。怎么說?python中使用約定,我不會強(qiáng)制說這個變量你不能訪問,但是你最好不要這樣做。如果需要對變量進(jìn)行其他操作,使用@parameter裝飾器進(jìn)行g(shù)et和set封裝,這樣直接訪問內(nèi)部變量會出錯。講偏了,關(guān)于類和對象這方面的內(nèi)容以后再說。

你如果打開python交互環(huán)境,輸入import this可以看到以下內(nèi)容:

The Zen of Python, by Tim PetersBeautiful is better than ugly. 優(yōu)美勝于丑陋Explicit is better than implicit. 明了勝于晦澀Simple is better than complex. 簡單勝過復(fù)雜Complex is better than complicated. 復(fù)雜勝過凌亂Flat is better than nested.  扁平勝于嵌套Sparse is better than dense.  間隔勝于緊湊

這些是python的設(shè)計(jì)哲學(xué),后面還有一些沒列出來,在寫python代碼時(shí)最好遵從這些設(shè)計(jì)哲學(xué)。

第一個功能。

如果讓你寫一段代碼表示a大于2且小于10,大多數(shù)人都會用a > 2 && a < 10對吧,在python中你可以直接使用2 < a < 10。

a = 5# 可以這樣print(2 < a < 10)# 也可以這樣print(10 > a <= 9)
TrueTrue

還有一個很多人可能都知道的技巧,就地交換值,而不需要中間變量。

a = 2b = 3print(a, b)# 直接交換a, b = b, aprint(a, b)
2 33 2

第二個功能。

我們常常會需要用for循環(huán)來遍歷序列中的值,然后進(jìn)行某些操作。在其他語言中你可能這么寫:

a = ['a', 'b', 'c', 'd', 'e']for(int i = 0; i < len(a); i++):print(a[i])

在python中很多人會這么寫,對a的長度使用range生成一個序列,然后遍歷。

a = ['a', 'b', 'c', 'd', 'e']# 對a的長度使用range生成一個序列,然后遍歷for i in range(len(a)):print(a[i])
abcde

其實(shí)你可以這樣寫,直接使用enumerate方法,它會返回序列的下標(biāo)和值。

a = ['a', 'b', 'c', 'd', 'e']# 對a的長度使用range生成一個序列,然后遍歷for i in enumerate(a):print(i)# 或者這樣for index, value in enumerate(a):print(index, value)            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新蔡县| 海兴县| 柳州市| 遂昌县| 高雄市| 铁力市| 龙山县| 平江县| 虞城县| 巧家县| 汶上县| 西安市| 荆州市| 武威市| 龙江县| 轮台县| 怀柔区| 阳泉市| 巴楚县| 钟山县| 阳高县| 梁河县| 泰安市| 雷山县| 柘荣县| 建昌县| 华亭县| 东乌珠穆沁旗| 和田市| 鸡泽县| 衡东县| 滦平县| 吴桥县| 安塞县| 新津县| 嘉祥县| 沾益县| 桦川县| 新化县| 西昌市| 民勤县|