偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

愛上Python的五個理由

開發(fā) 后端 新聞
關(guān)于 Python 有太多值得去愛的地方了,簡單、干凈、強(qiáng)大的 Python 語言讓任何開發(fā)人員都有足夠的能力在他們的軟件開發(fā)生涯中充滿自信,我們可以從中尋找到使用編程語言的樂趣,閱讀本文,你會喜歡上使用 Python 的。

 Python 中有很多我喜歡的特性。 

Python 在 1998 年誕生,開始很長一段時間無人問津,但我一直在使用它。當(dāng)時 Perl 在開源世界中非常流行,但是我從一開始就認(rèn)定了 Python。我父母喜歡經(jīng)常拿我之前說的話打趣我,我曾經(jīng)說過“Python 將會成為很重要的語言”、“我未來將依靠 Python 找到一份工作”。過了一段時間,我的預(yù)言應(yīng)驗了。

這門語言有太多讓人喜愛的地方了。以下是我如此熱愛 Python 的 5 個最重要的原因 (用反序的方式表述,以構(gòu)建預(yù)期)。

5. Python 讀起來像可執(zhí)行的偽代碼

偽代碼是這樣一種概念,它不遵循特定語言的確切句法和語法來編寫編程邏輯。自從成為一名 Python 程序員以來,我已經(jīng)幾乎不怎么編寫偽代碼了,因為它的實際設(shè)計滿足了我的需要。

即使您不太了解 Python 語言,也可以很容易地閱讀它,這在很大程度上是由設(shè)計決定的。

Python 對代碼格式中的空白規(guī)定是出了名的??瞻讓τ谌魏握Z言都是必需的——它能夠讓我們區(qū)分出句子中不同的單詞。大多數(shù)語言都有關(guān)于空格用法的建議或“優(yōu)秀實踐”,但是 Python 大膽地要求標(biāo)準(zhǔn)化。對我來說,這使得閱讀代碼并準(zhǔn)確地看到它在做什么變得非常簡單。

例如,下面是一個 經(jīng)典冒泡排序算法 的實現(xiàn)。

  1. def bubble_sort(things): 
  2.  
  3.     needs_pass = True 
  4.  
  5.     while needs_pass: 
  6.  
  7.         needs_pass = False 
  8.  
  9.         for idx in range(1, len(things)): 
  10.  
  11.             if things[idx - 1] > things[idx]: 
  12.  
  13.                 things[idx - 1], things[idx] = things[idx], things[idx - 1] 
  14.  
  15.                 needs_pass = True 

現(xiàn)在讓我們將其與 Java 中的實現(xiàn) 進(jìn)行比較。

  1. public static int[] bubblesort(int[] numbers) { 
  2.     boolean swapped = true
  3.     for(int i = numbers.length - 1; i > 0 && swapped; i--) { 
  4.         swapped = false
  5.         for (int j = 0; j < i; j++) { 
  6.             if (numbers[j] > numbers[j+1]) { 
  7.                 int temp = numbers[j]; 
  8.                 numbers[j] = numbers[j+1]; 
  9.                 numbers[j+1] = temp
  10.                 swapped = true
  11.             } 
  12.         } 
  13.     } 
  14.     return numbers; 

我知道 Python 需要縮進(jìn)來表示塊的嵌套。雖然我們的 Java 示例也很好地使用了縮進(jìn),但這不是必需的?;ɡㄌ枦Q定塊的開始和結(jié)束,而不是間隔。因為 Python 使用空格作為語法,所以在其他代碼中不需要開始{和結(jié)束}符號。

Python 還避免了對分號的需求,分號是使其他語言可讀的 語法規(guī)則。讀起 Python 我感覺更舒服一些,它很像偽代碼,有時會讓我驚訝到都意識不到可運行的代碼是什么樣的了!

4. Python 有強(qiáng)大的原函數(shù)

在編程語言設(shè)計中,原函數(shù)是最簡單的可用元素。Python 易于閱讀這一事實并不意味著它是一種強(qiáng)大的語言,另一方面要歸功于它對原函數(shù)的使用。我最喜歡的使 Python 既易于使用又高級的例子是它的生成器概念。

假設(shè)您有一個簡單的二叉樹結(jié)構(gòu),包含 value、left、right。您希望按順序輕松地對其進(jìn)行迭代。您通常會尋找“小”元素,以便在找到正確的值時立即退出。到目前為止,這聽起來很簡單。然而,有很多種算法可以對元素進(jìn)行操作。

其他語言會讓你寫一個訪問者,這樣你可以在這個函數(shù)中判斷“這是正確的元素嗎?”你也可以在 Python 中這樣做,但你也不必一定這樣做。

  1. def in_order(tree): 
  2.  
  3.     if tree is None: 
  4.  
  5.         return 
  6.  
  7.     yield from in_order(tree.left
  8.  
  9.     yield tree.value 
  10.  
  11.     yield from in_order(tree.right

這個生成器函數(shù)將返回一個迭代器,如果在 for 循環(huán)中使用該迭代器,那么它將只執(zhí)行需要的部分,而不會執(zhí)行全部。這是很強(qiáng)大的。

3.Python 標(biāo)準(zhǔn)庫

Python 有一個很棒的標(biāo)準(zhǔn)庫,其中隱藏了許多我以前不知道的寶貴內(nèi)容,直到我花時間 遍歷了所有可用 函數(shù)、常量、類型等等的列表,我才有了大體的了解。我個人比較喜歡的是 itertools 模塊,但是更喜歡函數(shù)式編程模塊 (是的,Python 支持函數(shù)式編程!)。

拿你的技術(shù)面試官開玩笑是很有趣的。例如,這有個應(yīng)對 FizzBuzz 這個經(jīng)典面試問題 的小妙招:

通過網(wǎng)絡(luò)搜索后會發(fā)現(xiàn)這并不是解決 FizzBuzz 的最直接的方法,但它確實很有趣!

除了趣味之外,itertools 模塊以及 heapq 和 functools 模塊都是 Python 實現(xiàn)中默認(rèn)提供的很有價值的東西。

2. Python 的生態(tài)系統(tǒng)是龐大的

對于標(biāo)準(zhǔn)庫中沒有的很多東西,有一個巨大的生態(tài)系統(tǒng)來支持新的 Pythonista,從令人興奮的包到專門針對該語言的文本編輯器插件都有。PyPi 上托管了大約 200,000 個項目 (在撰寫本文時),而且項目數(shù)量還在不斷增加,每個人都可以使用這些工具:數(shù)據(jù)科學(xué)、異步框架、web 框架,或者只是一些使 遠(yuǎn)程自動化 更簡單的工具。

1. Python 社區(qū)很獨特

Python 社區(qū)非常棒。它是最早采用行為準(zhǔn)則的組織之一,首先是 Python 軟件基金會,然后是 PyCon。這是一個真正的兼具多樣性和包容性的承諾:關(guān)于這個主題的博客文章和會議演講是頻繁的、深思熟慮的,而且 Python 社區(qū)成員也經(jīng)常閱讀。

雖然社區(qū)是全球性的,但在本地社區(qū)也有很多很棒的活動。當(dāng)?shù)氐?Python 聚會是一個很好的去處,可以遇到聰明、有經(jīng)驗、樂于助人的人。許多聚會都會明確地為有經(jīng)驗的人預(yù)留一些時間,以幫助希望學(xué)習(xí)新概念或解決代碼問題的新手。在我開始我的 Python 學(xué)習(xí)之時,我的本地社區(qū)花了很多時間來幫助我,我很榮幸能夠繼續(xù)回饋給新的開發(fā)人員。

無論您是參加本地社區(qū)會議,還是在 IRC、Slack 和 Twitter 上花時間與 在線 Python 社區(qū) 交流,我相信您都會遇到可愛的人,他們都希望幫助您成為成功的開發(fā)人員。

行動起來關(guān)于 Python 有太多值得去愛的地方了,現(xiàn)在你知道我最喜歡的部分肯定是關(guān)于人的。

我在世界各地的社區(qū)中發(fā)現(xiàn)了善良、有思想的 Python 從業(yè)者,社區(qū)為有需要的人提供的投資數(shù)額令人鼓舞。除了我遇到的那些人之外,簡單、干凈、強(qiáng)大的 Python 語言讓任何開發(fā)人員都有足夠的能力在他們的軟件開發(fā)生涯中充滿自信,或者作為一個業(yè)余愛好者享受使用有趣的語言的樂趣。如果您對學(xué)習(xí)您的第一種或一種新語言感興趣,請考慮使用 Python,并告訴我需要提供怎樣的幫助,我會盡力而為。

責(zé)任編輯:華軒 來源: AI前線
相關(guān)推薦

2019-11-12 16:44:50

Go語言泛函編程設(shè)計

2020-04-27 21:31:28

智慧城市物聯(lián)網(wǎng)IOT

2017-12-27 10:16:06

ERP

2021-12-23 20:00:59

Firefox瀏覽器開源

2023-04-20 15:53:05

綜合布線光纖

2021-08-09 14:47:34

Go語言開發(fā)

2011-12-14 14:32:17

郵箱

2015-03-09 09:25:04

2023-05-26 21:22:05

2012-11-23 10:05:33

2013-01-18 08:53:27

Android開發(fā)學(xué)習(xí)Android

2016-07-22 15:22:52

2024-07-26 08:59:33

2015-09-06 08:53:22

谷歌Docs理由

2015-12-22 09:38:39

2021-06-25 12:30:11

物聯(lián)網(wǎng)IOT

2016-05-31 13:09:55

云計算

2010-05-13 11:45:56

MySQL數(shù)據(jù)庫

2022-05-25 16:38:42

sudoLinuxroot 賬戶

2017-02-23 09:32:23

投身AI理由
點贊
收藏

51CTO技術(shù)棧公眾號