小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

Python 天生就是一種致力於簡單主義思想的編程語言,閱讀一個良好的 Python 程序就感覺像是在讀英語一樣流暢。對於極客來說,它就像是一把“輕武器”,既便攜又鋒利,幾乎無所不能。它的這種極簡主義風格以及強大潛力深受編程愛好者的喜愛。Python使你能夠專注於解決問題而不是去搞明白語言本身,這源於它的天性稟賦。

python設計之初衷

1999年,Python開發者Guido向DARPA組織提交了一條名為”Computer Programming For Everybody”的資金申請,並說明了他設計Python的初衷:

1.一門簡單直觀的語言並與主要競爭者一樣強大

2.開源,以便任何人都可以為它做貢獻

3.代碼像純英語那樣容易理解

4.適用於短期開發的日常任務

在Python社區,Guido被稱為“仁慈的獨裁者”,Guido的哲學是:用一種方法,最好是隻有一種方法來做一件事,如果面臨多種選擇,Python開發者一般會拒絕花俏的語法,而選擇明確沒有或很少有歧義的語法

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

python設計目標

Python的天性

Python 是一種解釋型、交互式、面向對象、適用於初學者的語言。具有如下特點:

1.易於學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。

2.易於閱讀:Python代碼定義的更清晰。

3.易於維護:Python的成功在於它的源代碼是相當容易維護的。

4.一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh兼容很好。

5.互動模式:互動模式的支持,您可以從終端輸入執行代碼並獲得結果的語言,互動的測試和調試代碼片斷。

6.可移植:基於其開放源代碼的特性,Python已經被移植(也就是使其工作)到許多平臺。

7.可擴展:如果你需要一段運行很快的關鍵代碼,或者是想要編寫一些不願開放的算法,你可以使用C或C++完成那部分程序,然後從你的Python程序中調用。

8.數據庫:Python提供所有主要的商業數據庫的接口。

9.GUI編程:Python支持GUI可以創建和移植到許多系統調用。

10.可嵌入:你可以將Python嵌入到C/C++程序,讓你的程序的用戶獲得"腳本化"的能力。

Python的編程方式

  • 交互式:對每個輸入語句及時運行結果,適合語法練習
  • 文件式:批量執行一組語句並運行結果,編程的主要方式

實例1:圓面積的計算(根據半徑r計算圓面積)

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

交互式

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

文件式

實例2:繪製一組同切圓

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

交互式

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

文件式

實例3:五角星繪製

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

交互式

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

文件式

Python的優缺點

優點

  • 簡單 -- Python 是一種代表簡單主義思想的語言。閱讀一個良好的 Python 程序就感覺像是在讀英語一樣,儘管這個英語的要求非常嚴格!Python 的這種偽代碼本質是它最大的優點之一。它使你能夠專注於解決問題而不是去搞明白語言本身。
  • 易學 -- 就如同你即將看到的一樣,Python 極其容易上手。前面已經提到了,Python 有極其簡單的語法。
  • 免費、開源 -- Python 是 FLOSS(自由/開放源碼軟件)之一。簡單地說,你可以自由地發佈這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟件中。FLOSS 是基於一個團體分享知識的概念。這是為什麼 Python 如此優秀的原因之一——它是由一群希望看到一個更加優秀的 Python 的人創造並經常改進著的。
  • 高層語言 -- 當你用 Python 語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節。
  • 可移植性 -- 由於它的開源本質,Python 已經被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。如果你小心地避免使用依賴於系統的特性,那麼你的所有 Python 程序無需修改就可以在下述任何平臺上面運行。這些平臺包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE 甚至還有 PocketPC、Symbian 以及 Google 基於 Linux 開發的 Android 平臺!
  • 解釋性 -- 這一點需要一些解釋。 Python 語言寫的程序不需要編譯成二進制代碼,你可以直接從源代碼運行程序。在計算機內部,Python 解釋器把源代碼轉換成稱為字節碼的中間形式,然後再把它翻譯成計算機使用的機器語言並運行。

編譯:將源代碼一次性轉換成目標代碼的過程

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

編譯

解釋:將源代碼逐條轉換成目標代碼同時逐條運行的過程

小白也能懂的 Python 入門指南(2)——Python 的天性稟賦

解釋

編譯和解釋的不同:編譯——一次性翻譯,之後不再需要源代碼(類似英文翻譯);解釋——每次程序運行時邊翻譯邊執行(類似實時的同聲傳譯)

  • 面向對象 -- Python 既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。與其他主要的語言如 C++ 和 Java 相比,Python 以一種非常強大又簡單的方式實現面向對象編程。
  • 可擴展性 -- 如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用 C 或 C++ 編寫,然後在你的 Python 程序中使用它們。
  • 豐富的庫 -- Python 標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV 文件、密碼系統、GUI(圖形用戶界面)、Tk 和其他與系統有關的操作。記住,只要安裝了 Python,所有這些功能都是可用的。這被稱作 Python 的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如 wxPython、Twisted 和 Python 圖像庫等等。
  • 規範的代碼 -- Python 採用強制縮進的方式使得代碼具有極佳的可讀性。

缺點

  • 運行速度較慢,有速度要求的話,用 C++ 改寫關鍵部分吧。
  • 國內市場較小
    (國內以 Python 來做主要開發的,目前只有一些 web2.0 公司)。但時間推移,目前很多國內軟件公司,尤其是遊戲公司,也開始規模使用他。
  • 中文資料匱乏(好的 Python 中文資料屈指可數,現在應該變多了)。託社區的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高級內容還是隻能看英語版。
  • 構架選擇太多(沒有像 C# 這樣的官方 .net 構架,也沒有像 ruby 由於歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程序天下無敵)。不過這也從另一個側面說明,python比較優秀,吸引的人才多,項目也多。


分享到:


相關文章: