溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python為什么如此火

發(fā)布時(shí)間:2021-10-15 09:48:11 來(lái)源:億速云 閱讀:125 作者:柒染 欄目:編程語(yǔ)言

本篇文章為大家展示了Python為什么如此火,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

  1000個(gè)讀者心中有1000個(gè)哈姆雷特,要問(wèn)1000個(gè)程序員“什么才是最好的語(yǔ)言”,Java、Python、PHP、C++也都有自己的位置。但要問(wèn)編程語(yǔ)言流行指數(shù)之王非,那真的非Python莫屬了。

  據(jù)StackOverflow數(shù)據(jù)顯示,Python是使用量增長(zhǎng)比較快的編程語(yǔ)言。

  福布斯新發(fā)布的一篇報(bào)告指出,python的使用量在去年增長(zhǎng)了456%。Netfix、IBM以及其它數(shù)以百計(jì)的公司都在使用python。包括Dropbox也是由python創(chuàng)建的。Dice的研究表明,python是世界上最熱門(mén)的技巧之一,根據(jù)編程語(yǔ)言的流行度指數(shù)來(lái)看,python同時(shí)也是很受歡迎的編程語(yǔ)言。

  

Python為何有如此大的魅力呢?

  那是因?yàn)?,與其它編程語(yǔ)言相比,Python有以下5點(diǎn)優(yōu)勢(shì):

  1、和主流平臺(tái)、操作系統(tǒng)兼容。

  2、包含許多開(kāi)源框架和工具。

  3、編碼具有可讀性和可維護(hù)性

  4、強(qiáng)大的標(biāo)準(zhǔn)庫(kù)

  5、標(biāo)準(zhǔn)的測(cè)試驅(qū)動(dòng)開(kāi)發(fā)

  較低的學(xué)習(xí)門(mén)檻和廣闊的發(fā)展前景使得Python越來(lái)越受歡迎。

  

Python使用小技巧

  1.用ZIP處理列表

  假設(shè)要合并相同長(zhǎng)度的列表并打印結(jié)果。同樣有一種更通用的方式,即用zip()函數(shù)獲得想要的結(jié)果,代碼如下:

  countries=['France','Germany','Canada']

  capitals=['Paris','Berlin','Ottawa']

  forcountry,capitalinzip(countries,capitals):

  print(country,capital)#FranceParis

  GermanyBerlin

  CanadaOttawa

  2.使用pythoncollections

  Pythoncollections是容器數(shù)據(jù)類(lèi)型,即列表、集合、元組、字典。Collections模塊提供了可以增強(qiáng)代碼的高性能數(shù)據(jù)類(lèi)型,使工作更加簡(jiǎn)潔容易。它還提供了許多功能,以下使用Counter()函數(shù)進(jìn)行演示。

  Counter()函數(shù)采用一個(gè)可迭代對(duì)象(如列表或元組),并返回一個(gè)Counter字典。字典的鍵是迭代器中唯一存在的元素,每個(gè)鍵的值是該元素在迭代器中出現(xiàn)次數(shù)的計(jì)數(shù)。

  為創(chuàng)建一個(gè)Counter對(duì)象,將一個(gè)迭代的(列表)傳遞給Counter()函數(shù),代碼如下。

  fromcollectionsimportCountercount=Counter(['a','b','c','d','b','c','d','b'])

  print(count)#Counter({'b':3,'c':2,'d':2,'a':1})

  3.使用itertools

  Python的itertools模塊是用于處理迭代器的工具集合。Itertools包含多種工具,用于生成輸入數(shù)據(jù)的可迭代結(jié)果。這里以itertools.combinations()為例。itertools.combinations()用于構(gòu)建組合。這些是輸入量的可能組合項(xiàng)。

  舉一個(gè)現(xiàn)實(shí)中的例子來(lái)闡明以上觀點(diǎn):

  假設(shè)一個(gè)錦標(biāo)賽中有4個(gè)隊(duì)伍,在聯(lián)賽階段,每個(gè)隊(duì)伍都要與其他每個(gè)隊(duì)伍進(jìn)行比賽。任務(wù)是列出所有比賽隊(duì)伍的可能組合。

  代碼如下:

  importitertools

  friends=['Team1','Team2','Team3','Team4']

  list(itertools.combinations(friends,r=2))#[('Team1','Team2'),('Team1','Team3'),('Team1','Team4'),('Team2','Team3'),('Team2','Team4'),('Team3','Team4')]

  需要注意的是,值的順序不重要。因?yàn)?'Team1','Team2')和('Team2','Team1')代表同一對(duì),所以輸出列表只需包含其中一個(gè)。相似的,可以使用itertools.permutations()以及來(lái)自該模塊的其他函數(shù)。

上述內(nèi)容就是Python為什么如此火,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI