什麼是 Python 語言
Python 語言是一種電腦程式設計語言,作用類似於 c/c++/java/perl/VB/Delphi 等等電腦程式設計語言,據有非常清晰易讀的文法特點,並且是一種進階物件導向的語言,用途非常廣泛,並且可以進行擴充。Python 可以運行在 Windows,Linux,FreeBSD,Solaris等等幾乎所有的電腦中,也可以運行在手機中,支援 Java 和 .Net 技術。 Python(派森)語言是一種物件導向的用途非常廣泛的程式設計語言,具有非常清晰的文法特點,適用於多種作業系統,可以在Windows和Unix這樣的系統中運行。目前在國際上非常流行,正在得到越來越多的應用。Python可以完成許多任務,功能非常強大。Python核心網站是:
http://www.python.org/
,其中你可以找到很多資料。如果您第一次使用 Python, 可以下載一個試試。
Python 語言使用方便,不需要進行複雜的編譯,用途非常廣泛,可以進行各種軟體的開發,比如: 網站,圖形介面(GUI), 網路編程,資料庫編程,圖形影像處理,科學計算,手機編程等等。
使用 Python 最多的應該是 Google 公司了(google的雲端運算平台GAE就支援預設Python),就是人們到處都可以看到的 Google 搜尋引擎。微軟公司也已經開始提供Python語言的軟體了(其中架構在.NET 平台值上的IronPython,讓一切變的更有可能)。 全球著名的手機廠商 Nokia 公司早已經開始提供基於Python語言的手機開發軟體了。另外,還有很多遊戲是用Python開發的。另外一個比較有名的就是 Zope 公司了,還有youtube是全部用Python開發的。國內使用Python的公司並不多,只有一些Web
2.0的公司。但是因其非常簡捷而清晰的文法特點,適合完成各種高層任務,幾乎可以在所有的作業系統中運行,所以其相關技術正在飛速的發展,使用者數量急劇擴大,相關的資源非常多,隨著時間的推移,很多軟體公司都會開始規模的使用它。
“Python”這個英文單詞的發音似“派森”,因此中文可以稱之為派森。
下載和安裝
· 請到 Python.org下載,
建議下載 2.5+版本,因為其3.0+版本還在測試階段
Python安裝完畢後,會內建一個IDE開發環境IDEL (當然比之VS,那是輕量了不知多少倍),當然你完全也可以使用任何文字編輯器來編寫Python,當然如今也有很多可視化的進階IDE開發環境來編寫Python程式(如Wing IDE,komodo),如果是使用IronPython那麼你也可以使用Visual Studio 來編寫Python程式 (傳統的Python是使用C實現的即為CPython,其實還有JPython)。
第一個“Hello World”程式
首先在案頭上建立一個記事本檔案,同時把名稱修改為helloworld.py(python的程式預設使用py作為副檔名,當然你也可以改成其他名字),點擊右鍵使用IDEL開啟,當然它是空的。鍵入
Print “Hello world”
然後按F5 運行程式,程式非常簡單,我們可以在特殊的命令列中輸出結果:
文法
雖然Python的文法非常簡潔,但是也並非一兩句話可以講完,我整理了一些基本點
一、基本概念
1. 數:整數、長整數、浮點數【例:3.23或52.3E-4】、複數【例:(-5+4j)
或(2.3-4.6j)
】
2. 字串:
(1) 在雙引號中的字串與單引號中的字串的使用完全相同
(2) 利用三引號【'''或"""】,你可以指示一個多行的字串
(3) 轉義符【\】,但在一個字串行末的單獨一個反斜線用於續行
(4) 自然字串:通過給字串加上首碼r或R來指定,這樣就保持原樣(不轉義)
(5) Unicode字串:在字串前加上首碼u或U,例:u"這是unicode" <o:p></o:p>
3. 變數:使用變數時只需要給它們賦一個值。不需要聲明或定義資料類型
4. 標識符:以字母表中的字母(大寫或小寫)、底線(‘ _ ’)或數字(0-9)組成,並且第一個字元必須是字母(大寫或小寫)或底線(‘ _ ’)
5. 縮排:在Python,沒有使用大括弧來而是以縮排的方式來標示語句塊,即同一層次的語句必須有相同的縮排
6. 運算子(部分)
(1) 冪運算子**:x**y返回x的y次冪,例:3 ** 4==3 * 3 * 3 * 3
(2) 取整除運算子//:返回商的整數部分,例:4 // 3.0得到1.0
(3) 布爾“非”運算子not
(4) 布爾“與”運算子and
(5) 布爾“或”運算子or
7. 控制流程
(1) if語句:形式如下:(注意if語句在結尾處包含一個冒號,告訴Python下面跟著一個語句塊;並且,沒有switch語句)
1. if condition:
2. statement
3. elif condition:
4. statement
5. else
6. statement
(2) while語句:形式如下:
1. while condition:
2. statement
3. else:
(3) for語句:形式如下:
1. for element in collection:
2. statement
3. else:
(4) break語句:形式同其他語言,需要注意的是,如果從for或while迴圈中終止 ,任何對應的迴圈else塊將不執行
(5) continue語句:同其他語言
8. 函數:通過def關鍵字定義。def關鍵字後跟一個函數的標識符名稱,然後跟一對圓括弧。圓括弧之中可以包括一些變數名,該行以冒號結尾。接下來是一塊語句,它們是函數體,例:
1. def function_name():
2. statement
【注】 Python有一個很奇妙的特性,稱為 文檔字串 ,它通常被簡稱為 docstrings。文檔字串的慣例是一個多行字串(需使用三引號),它的首行以大寫字母開始,句號結尾。第二行是空行,從第三行開始是詳細的描述。(有點類似javadoc,用於函數中,就像java中的method的方法說明)。注意,文檔字串首行緊隨函數定義語句,亦即函數體的首行起為文檔字串。
9. 模組:一個模組就是一個python檔案,一般是工具集或可重用代碼,類似於C#中的工具類。
二、Python內建的資料結構
1. 列表list:變數賦值方式:shoplist = ['apple', 'mango', 'carrot', 'banana']【列表元素可變】
2. 元組array:變數賦值方式:zoo = ('wolf', 'elephant','penguin')【元組元素不可變】
3. 字典dict:變數賦值方式:d = {key1 : value1, key2 : value2 }【類似C#中的hashTable類】
4. 序列:列表、元組和字串都是序列
(1) 索引操作符:取得列表/元組中的一個元素或字串的的某個字元
(2) 切片操作符:取得序列的一個切片,連續的元素/字元
(3) eg:
1. name = 'swaroop'
2. print 'characters 0 is', name[0] # 's',索引操作符,類似C#
3. print 'characters 1 to 3 is', name[1:3] # 'wa' 切片操作符,類似C# 中的Substring方法
事實上Python包含的內容還很多很多,如Python和傳統的解釋型指令碼語言不同,它在第一次執行時會編譯成位元組碼,其後執行就直接運行位元組碼了,這個.NET的DLR有點類似,和Java的虛擬機器也類似,總之是將代碼轉化成更接近機器代碼的方式,這樣可以提高效能。
我整理了一個Python快速參考指南,如所示
總結:
很多人說C#,Java是工作語言,Python,Ruby是周末語言,事實上語言之間都是互連,多學習一點,可以開闊視野,在敏捷開發這麼熱門的時候從中選取一種來學習,也是一種保障,不是嗎?如果你接觸Python我相信你會喜歡它。