2021-05-12 14:32:11
Python基礎入門教學 - Python 簡介
Python 是一個高層次的結合了解釋性、編譯性、互動性和物件導向的指令碼語言。
Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
-
Python 是一種直譯語言: 這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
-
Python 是互動式語言: 這意味著,您可以在一個 Python 提示符 >>> 後直接執行程式碼。
-
Python 是物件導向語言: 這意味著Python支援物件導向的風格或程式碼封裝在物件的程式設計技術。
-
Python 是初學者的語言:Python 對初級程式設計師而言,是一種偉大的語言,它支援廣泛的應用程式開發,從簡單的文書處理到 WWW 瀏覽器再到遊戲。
Python 發展歷史
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國家數學和電腦科學研究所設計出來的。
Python 本身也是由諸多其他語言發展而來的,這包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的指令碼語言等等。
像 Perl 語言一樣,Python 原始碼同樣遵循 GPL(GNU General Public License)協定。
現在 Python 是由一個核心開發團隊在維護,Guido van Rossum 仍然佔據著至關重要的作用,指導其進展。
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/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 平台!
- 解釋性 -- 這一點需要一些解釋。一個用編譯性語言比如 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比較優秀,吸引的人才多,專案也多。
相關文章