《Python從小白到大牛》第1章 開篇綜述

來源:互聯網
上載者:User

標籤:Python   python零基礎   python小白   python開發   

Python誕生到現在已經有20多年了,但是Python仍然是非常熱門的程式設計語言之一,很多平台中使用Python開發。表1-1所示的是TIOBE社區發布的2017年3月和2018年3月的程式設計語言熱門排行榜,可見Python語言的熱度,或許這也是很多人選擇學習Python的主要原因。

Python語言曆史

Python之父荷蘭人吉多 範·羅蘇姆(Guido van
Rossum)在1989年聖誕節期間,在阿姆斯特丹,為了打發聖誕節的無聊時間,決心開發一門解釋程式語言。1991年第一個Python解譯器公開版發布,它是用C語言編寫實現的,並能夠調用C語言的庫檔案。Python一誕生就已經具有了類、函數和異常處理等內容,包含字典、列表等核心資料結構,以及模組為基礎的拓展系統。

2000年Python 2.0發布,Python 2
的最後一個版本是2.7,它還會存在較長的一段時間,Python
2.7支援時間延長到2020年。2008年Python 3.0發布,到本書編寫時Python
3.6發布,注意本書編寫是基於Python 3.6版本。Python 3與Python
2是不相容的,由於很多Python程式和庫都是基於Python 2的,所以Python 2和Python
3程式會長期並存的,不過Python
3的新功能吸引了很多開發人員,很多開發人員正從Python 2升級到Python
3。作為初學者如果學習Python應該從Python 3開始。

Python單詞翻譯“蟒蛇”,想到這種動物不會有很愉快的感覺。那為什麼這種新語言取名為Python呢?那是因為吉多喜歡看英國電視秀節目蒙提·派森的飛行馬戲團(Monty
Python’s Flying Circus),於是他將這種新語言起名為Python。

Python語言設計哲學——Python之禪

Python語言有它的設計理念和哲學,稱為“Python之禪”。
Python之禪是Python的靈魂,理解Python之禪能幫開發人員編寫出優秀的Python程式。在Python互動式方式運行工具IDLE中輸入import
this命令,1-1所示顯示內容就是Python之禪。

Python之禪翻譯解釋如下:

Python之禪 by Tim Peters

優美勝於醜陋

明了勝於晦澀

簡潔勝於複雜

複雜勝於淩亂

扁平勝於嵌套

寬鬆勝於緊湊

可讀性很重要

即便是特例,也不可違背這些規則

不要捕獲所有錯誤,除非你確定需要這樣做

如果存在多種可能,不要猜測

通常只有唯一一種是最佳的解決方案

雖然這並不容易,因為你不是Python之父

做比不做要好,但不假思索就動手還不如不做

如果你的方案很難懂,那肯定不是一個好方案,反之亦然

命名空間非常有用,應當多加利用

Python語言特點

Python語言能夠流行起來,並長久不衰,得益於Python語言有很多優秀的關鍵特點。這些特點如下:

  1. 簡單易學

Python設計目標之一就是能夠方便學習,使用簡單。它使你能夠專註於解決問題而不是過多關注語言本身。

  1. 物件導向

Python支援物件導向的編程。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現物件導向編程。

  1. 解釋性

Python是解釋執行的,即Python程式不需要編譯成二進位代碼,可以直接從原始碼運行程式。在電腦內部,Python解譯器把原始碼轉換成為中間位元組碼形式,然後再把它解釋為電腦使用的機器語言並執行。

  1. 免費開源

Python是免費開放源碼軟體之一。簡單地說,你可以自由地發布這個軟體的拷貝、閱讀它的原始碼、對它做改動、把它的一部分用於新的自由軟體中。

  1. 可移植性

Python解譯器已經被移植在許多平台上,Python程式無需修改就可以在多個平台上運行。

  1. 膠水語言

Python被稱為膠水語言,所謂膠水語言是用來串連其他語言編寫的軟體組件或模組。Python能夠稱為膠水語言是因為標準版本Python是用C編譯的,稱為CPython。所以Python可以調用C語言,藉助於C介面Python幾乎可以驅動所有已知的軟體。

  1. 豐富的庫

Python標準庫(官方提供的)種類繁多,它可以協助處理各種工作,這些庫不需要安裝直接可以使用。除了標準庫以外,還有許多其他高品質的庫可以使用。

  1. 規範的代碼

Python採用強制縮排的方式使得代碼具有極佳的可讀性。

  1. 支援函數式編程

雖然Python並不是一種單純的函數式編程,但是也提供了函數式編程的支援,如函數類型、Lambda運算式、高階函數和匿名函數等。

  1. 動態類型

Python是動態類型語言,它不會檢查資料類型,在變數聲明是不需要指定資料類型。

Python語言應用前景

Python與Java語言一樣,都是進階語言,他們不能直接存取硬體,也不能編譯為本地代碼運行。除此之外,Python幾乎可以做任何事情。下面是Python語言主要的應用前景:

  1. 案頭應用開發

Python語言可以開發傳統的傳統型應用程式,Tkinter、PyQt、PySide、wxPython和PyGTK等Python庫可以快速開發傳統型應用程式。

  1. Web應用開發

Python也經常被用於Web開發。很多網站是基於Python
Web開發的,如豆瓣、知乎和Dropbox等。很多成熟的Python
Web架構,如Django、Flask、Tornado
、Bottle和web2py等Web架構。可以協助開發人員快速開發Web應用。

  1. 自動化營運

Python可以編寫伺服器營運自動化指令碼。很多伺服器採用Linux和UNIX系統,以前很多營運人員編寫系統管理Shell指令碼實現營運工作。而現在使用Python編寫系統管理,在可讀性、效能、代碼可重性、可擴充性等幾方面優於普通Shell指令碼。

  1. 科學計算

Python語言也廣泛地應用科學計算,NumPy、SciPy和Pandas是優秀的數值計算和科學計算庫。

  1. 資料視覺效果

Python語言也可將複雜的資料通過圖表展示出來,便於資料分析。Matplotlib庫是優秀的可視化庫。

  1. 網路爬蟲

Python語言很早就用來編寫網路爬蟲。Google等搜尋引擎公司大量地使用Python語言編寫網路爬蟲。從技術層面上講Python語言有很多這方面的工具,urllib、Selenium和BeautifulSoup等。還可以網路爬蟲架構scrapy。

  1. 人工智慧

人工智慧是現在非常火的一個方向。Python廣泛應用於深度學習、機器學習和自然語言處理等方向。由於Python語言的動態特點,很多人工智慧架構是採用Python語言實現的。

  1. 大資料

大資料分析中涉及到的分散式運算、資料視覺效果、資料庫操作等,Python中都有成熟庫可以完成這些工作。Hadoop和Spark都可以直接使用Python編寫計算邏輯。

  1. 遊戲開發

Python可以直接調用Open
GL實現3D繪製,這是高效能遊戲引擎的技術基礎。所有很多Python語言實現的遊戲引擎,如Pygame、Pyglet和Cocos2d等。

如何獲得協助

對於一個初學者必須要熟悉如下幾個Python相關網址:

  • Python標準庫:https://docs.python.org/3/library/index.html

  • Python HOWTO:https://docs.python.org/3/howto/index.html

  • Python教程:https://docs.python.org/3/tutorial/index.html

  • PEP規範[^1]:https://www.python.org/dev/peps/

    [^1]: PEP是Python Enhancement
    Proposals的縮寫。PEP是為Python社區提供各種增強功能的技術規格說明書,也是提交新特性,以便讓社區指出問題,精確化技術文檔的提案。

配套視頻

http://edu.51cto.com/topic/1507.html

配套原始碼

http://www.zhijieketang.com/group/8

電子書

https://yuedu.baidu.com/ebook/5823871e59fafab069dc5022aaea998fcc2240fc

作者微博:@tony_關東升br/>郵箱:[email protected]
Python讀者服務QQ群:628808216

《Python從小白到大牛》第1章 開篇綜述

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.