從今天開始學習python,會將學習到的相關知識整理到這裡。今後的所有內容都基於Ubuntu系統中進行的,和其他語言一樣,讓我們先來"Hello World!"吧。
Hello world!
#!/usr/bin/python為Linux系統下Python解釋器的路徑,通常python解釋器的路徑安裝在/usr/local/bin或/usr/bin目錄下。
程序輸入和raw_input()內建函數
從用戶得到數據輸入的最好方式使用raw_input()函數,它讀取標準輸入,並將讀取到的數據賦值給指定的變量。
注釋
和大部分腳本及Unix-shell語言一樣,python也使用 # 符號標示注釋,從#開始直到一行結束的內容都是注釋
操作符
和其他大多數語言一樣,Python中的標準算數操作符以你熟悉的方式工作。加、減、乘、除、取餘都是標準操作符,Python當然也有標準比較操作符,比較運算根據運算的真假返回布爾值。例如:
>>> 2 > 4 True
>>> 2 < 4 False
變量和賦值
和大多數高級語言一樣,都受C語言的影響。變量名僅僅是一些字符開頭的標識符--意指大寫或者小寫字母,另外還包括下劃線(_)。變量名是大小寫敏感的。'case'和'CaSe'是兩個不同的變量。
Python是動態類型語言,不需要預先生命變量類型。
數字&字符串
Python支持五種基本數字類型,其中有三種整形類型。
有符號整型 - 長整型、布爾值 浮點值 複數
Python中字符串被定義為引號之間的字符集合。支持使用成對的單引號或雙引號,三引號(三個連續的單引號或雙引號)可以用來包含特殊字符。使用索引操作符([])和切片操作符([:])可以得到子字符串。索引規則:第一個字符的索引是0,最後一個字符的索引是-1。
加號(+)用於字符串連接運算,星號(*)則用於字符串重複。
列表和元組
可以將列表和元組當成普通的「數組」,可以保存任意數量任意類型的Python對象。通過從0開始的數字索引訪問元素。
列表和元組有幾處重要的區別。列表元素用中括號([])包裹,元素的個數及元素值可以改變。元組用小括號(())包裹,不可以更改。通過切片元素([]和[:])可以得到子集,這點與字符串使用方法一致。
字典
字典是Python中的映射數據類型,關聯數組或哈希表,由鍵值對構成。一般以數字或字符串最為鍵,值可以是任意類型的Python對象,字典元素用大括號({})包裹。
文件和內建函數open(),file()
如何打開文件 handle = open(filename, access_mode = 'r')
filenam變量包含我們系統打開的文件的名字,access_mode中'r'表示讀取,'w'標示寫入,'a'表示添加。其他可能用到的標識還有'+', 'b'表示二進位訪問。如果open成功,一個文件對象句柄會被返回。所有後續的文件操作都必須通過此文件句柄進行。比如readlines()和close()。
上面的代碼適用於文件大小適中的文件。對於很大的文件來說,上面的代碼會佔太多的內存,這時你最好一次讀一行。
函數
定義一個函數的語法由def關鍵字及緊隨其後的函數名,在加上函數的幾個參數組成。函數參數是可選的,這個語句由一個(:)結束,之後的函數體,例如:
類
如何定義類,使用class關鍵字進行定義。可以提供一個可選的父類,如果沒有合適的父類,那就使用object做為父類。class行之後是可選的文檔字符串、靜態成員定義和方法定義。
上面的類中,我們定義了一個靜態變量version,可以被所有實例和3個方法共享,__init()__方法有一個特殊的名字,當上面的類實例被創建時,__init__()方法自動執行。目的是執行一些初始化的工作。每個方法都有一個參數self,它是類實例自身引用。其他面向對象語言有的使用this。
模塊
模塊是一種組織形式,它將彼此有關係的代碼組織到一個個獨立的文件中。當你創建了一個python源文件,模塊的名字就是.py後綴前的文件名字。一個模塊創建後,你可以從另一個模塊中使用import來導入它。
導入模塊很簡單,import module_name,完成導入後,一個模塊的屬性(函數和變量)可以通過熟悉的句點屬性標識法訪問,module.function()、module.variable,使用sys模塊輸出函數做個例子。