002.Python 簡介

 

Python 簡介

Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麪向對象的腳本語言。python

Python 的設計具備很強的可讀性,相比其餘語言常用英文關鍵字,其餘語言的一些標點符號,它具備比其餘語言更有特點語法結構。程序員

  • Python 是一種解釋型語言: 這意味着開發過程當中沒有了編譯這個環節。相似於PHP和Perl語言。web

  • Python 是交互式語言: 這意味着,您能夠在一個 Python 提示符 >>> 後直接執行代碼。正則表達式

  • Python 是面嚮對象語言: 這意味着Python支持面向對象的風格或代碼封裝在對象的編程技術。算法

  • Python 是初學者的語言:Python 對初級程序員而言,是一種偉大的語言,它支持普遍的應用程序開發,從簡單的文字處理到 WWW 瀏覽器再到遊戲。shell

 


Python 發展歷史

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國家數學和計算機科學研究所設計出來的。數據庫

Python 自己也是由諸多其餘語言發展而來的,這包括 ABC、Modula-三、C、C++、Algol-6八、SmallTalk、Unix shell 和其餘的腳本語言等等。編程

像 Perl 語言同樣,Python 源代碼一樣遵循 GPL(GNU General Public License)協議。瀏覽器

如今 Python 是由一個核心開發團隊在維護,Guido van Rossum 仍然佔據着相當重要的做用,指導其進展。ruby

 


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 是一種表明簡單主義思想的語言。閱讀一個良好的 Python 程序就感受像是在讀英語同樣,儘管這個英語的要求很是嚴格!Python 的這種僞代碼本質是它最大的優勢之一。它使你可以專一於解決問題而不是去搞明白語言自己。
  •  易學 -- 就如同你即將看到的同樣,Python 極其容易上手。前面已經提到了,Python 有極其簡單的語法。
  •  免費、開源 -- Python 是 FLOSS(自由/開放源碼軟件)之一。簡單地說,你能夠自由地發佈這個軟件的拷貝、閱讀它的源代碼、對它作改動、把它的一部分用於新的自由軟件中。FLOSS 是基於一個團體分享知識的概念。這是爲何 Python 如此優秀的緣由之一——它是由一羣但願看到一個更加優秀的 Python 的人創造並常常改進着的。
  •  高層語言 -- 當你用 Python 語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節。
  •  可移植性 -- 因爲它的開源本質,Python 已經被移植在許多平臺上(通過改動使它可以工做在不一樣平臺上)。若是你當心地避免使用依賴於系統的特性,那麼你的全部 Python 程序無需修改就能夠在下述任何平臺上面運行。這些平臺包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/二、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 平臺!
  •  解釋性 -- 這一點須要一些解釋。一個用編譯性語言好比 C 或 C++ 寫的程序能夠從源文件(即 C 或 C++ 語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程經過編譯器和不一樣的標記、選項完成。當你運行你的程序的時候,鏈接/轉載器軟件把你的程序從硬盤複製到內存中而且運行。而 Python 語言寫的程序不須要編譯成二進制代碼。你能夠直接從源代碼運行程序。在計算機內部,Python 解釋器把源代碼轉換成稱爲字節碼的中間形式,而後再把它翻譯成計算機使用的機器語言並運行。事實上,因爲你再也不須要擔憂如何編譯程序,如何確保鏈接轉載正確的庫等等,全部這一切使得使用 Python 更加簡單。因爲你只須要把你的 Python 程序拷貝到另一臺計算機上,它就能夠工做了,這也使得你的 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比較優秀,吸引的人才多,項目也多。
相關文章
相關標籤/搜索