1、 Python入門導學 1.1 Python概念 Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/) 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向對象的腳本語言。 Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比 ...
1、 Python入門導學
1.1 Python概念
Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/) 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向對象的腳本語言。
Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
Python 是互動式語言: 這意味著,您可以在一個Python提示符,直接互動執行寫你的程式。
Python 是面向對象語言: 這意味著Python支持面向對象的風格或代碼封裝在對象的編程技術。
Python 是初學者的語言:Python 對初級程式員而言,是一種偉大的語言,它支持廣泛的應用程式開發,從簡單的文字處理到 WWW 瀏覽器再到游戲。
1.2 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++程式,讓你的程式的用戶獲得"腳本化"的能力。
1.3 Python 應用場景
1.3.1 Web程式開發
Python經常被用於Web開發。比如,通過mod_wsgi模塊,Apache可以運行用Python編寫的Web程式。使用Python語言編寫的Gunicorn作為Web伺服器,也能夠運行Python語言編寫的Web程式。Python定義了WSGI(Web Server Gateway Interface)標準應用介面來協調Http伺服器與基於Python的Web程式之間的溝通。一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可以讓程式員輕鬆地開發和管理複雜的Web程式。
Python對於各種網路協議的支持很完善,因此經常被用於編寫伺服器軟體、網路蠕蟲。第三方庫Twisted支持非同步線上編寫程式和多數標準的網路協議(包含客戶端和伺服器),並且提供了多種工具,被廣泛用於編寫高性能的伺服器軟體。另有gevent這個流行的第三方庫,同樣能夠支持高性能高併發的網路開發。
1.3.2 GUI開發
Python本身包含的Tkinter庫能夠支持簡單的GUI(Graphical User Interface)開發。但是越來越多的Python程式員選擇wxPython或者PyQt等GUI包來開發跨平臺的桌面軟體。使用它們開發的桌面軟體運行速度快,與用戶的桌面環境相契合。通過PyInstaller還能將程式發佈為獨立的安裝程式包。
在很多操作系統里,Python是標準的系統組件。大多數Linux發佈版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在終端機下直接運行Python。有一些Linux發佈版的安裝器使用Python語言編寫,比如Ubuntu的Ubiquity安裝器、Red Hat Linux和Fedora的Anaconda安裝器。Gentoo Linux使用Python來編寫它的Portage包管理系統。Python標準庫包含了多個調用作業系統功能的庫。通過pywin32這個第三方軟體包,Python能夠訪問Windows的COM服務及其它Windows API。使用IronPython,Python程式能夠直接調用.Net Framework。
1.3.3 其他
NumPy、SciPy、Matplotlib可以讓Python程式員編寫科學計算程式。有些公司會使用Scons代替make構建C++程式。
很多游戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫游戲的邏輯、伺服器。相較於Python,Lua的功能更簡單、體積更小;而Python則支持更多的特性和數據類型。很多游戲,如EVE Online使用Python來處理游戲中繁多的邏輯。
YouTube、Google、Yahoo!、NASA都在內部大量地使用Python。OLPC的作業系統Sugar項目的大多數軟體都是使用Python編寫。
因此Python的應用範圍大概分為:數據分析、系統編程、組件集成、網路服務、圖像處理、數值計算和科學計算。