Python數據類型與表達式
Python常見數據類型
數字(Number)類型
在Python中,内置的數字有三種類型:整數、實數(浮點數)和復數。(也有把布爾型劃到數字類型的)
int(整數)
通常默認整數為十進制整數,但但實際上整數還包括二進制整數(以0b開頭,每位上的數字為0或1)、八進制整數(以0o開頭,每位上的數字在0~7之間)和十六進制整數(以0x開頭,每位上的數字在 0 ~ 9 或 A ~ F 之間)。
float(浮點數)
如:1.23、3E-2
complex(複數)
如 :1+1j、1.1+2.2j
布爾(bool)類型
布爾類型是計算機中最基本的類型,它是計算機二進制世界的體現,一切都是0和1。Python中的布爾型只有兩個值:True和False(注意:首字母都是大寫,與C++,JavaScript中的小寫有所不同)。Python裏面實現了一個對象叫做bool,bool是一個int的子類,内置的True和False就是bool僅有的兩個實列對象,可以把它們看作1和0參與數學運算,例如:(3+True)⁕True+6⁕⁕False的結果為5。正因爲如此,所以也有把布爾型劃到數字類型的説法。
布爾類型常用於條件表達式中,用於控制循環結構和分支結構它回答的是是非的問題。那麽什麽情況下是True,什麽情況下是False呢?任何非零數字或非空對象都爲True;數字0,空對象以及None都是False。
字符串(String)類型
在Python中,使用一對單引號,雙引號和三引號作爲定界符來表示字符串,并且不同的定界符之間可以相互嵌套。其中單引號和雙引號使用完全相同,使用三引號(’’’或”””)可以指定一個多行字符串。
Python沒有單獨的字符類型,一個字符就是長度為1的字符串。
反斜杠“\”可以用來轉義,使用r可以讓反斜杠不發生轉義。如r”this is a line with \n”,則\n會顯示,并不是換行。
字符串可以用+連接在一起,用⁕運算符重復。
常量與變量
常量
常量一般指不需要改變也不能改變的字面值,如一個整數666、一個實數3.14、一個布爾值True、一個字符串’LOVE’和一個復數1+2j都是常量。
變量
與常量相反,變量的值是可以隨時發生變化的。Python中的變量不需要聲明,每個變量在使用前都必須賦值,變量賦值以後該變量才會被創建。
在Python中,變量就是變量,它沒有類型,我們所說的「類型」是變量所指的內存中對象的類型。
符號(=)用來給變量賦值。符號(=)運算符左邊是個變量名,等號(=)運算符右邊是存儲在變量中的值。
變量名規則
在Python中,變量名可以包括字母、數字和下劃線,但不能以數字開頭,而且文字區分大小寫,因此abc和Abc是兩個不同的變量名。
由於Python3支持UTF-8字符集,因此Python3的標識符可以使用UTF-8所能表示的多種語言的字符,即變量名中的字母并不極限于26個英文字母,可以包含中文字符、日文字符等。為提高代碼的可讀性並向國際接軌,建議使用有意義的英文單詞作爲變量名,少用或不用單個字母,漢字或拼音作爲變量名。
變量名不能包含空格,但可使用下劃綫來分隔其中的單詞。例如,變量名space_width可行,但變量名space width會引發錯誤。
不能使用Python關鍵字作爲變量名,如if、else、for、while、return等不能作爲變量名,也不能作爲函數和類的名字。不建議使用系統内置的模塊名、類型名或函數名和已導入的模塊名及其成員名。這會改變其類型和含義,甚至會導致其他代碼無法正常運行。
慎用大寫字母I和小寫字母l,因爲它們可能會被人錯看成數字1;同理大寫字母O也容易被錯看成數字0
Python保留字一覽表
運算符與表達式
在Python中,單個常量或變量可以看成最簡單的表達式,使用算數運算符、關係運算符、邏輯運算符或者其他運算符鏈接的式子也屬於表達式,表達式中還可以包含函數調用。
雖然Python運算符有嚴格的優先級規則,但是强烈建議在編寫複雜表達式時使用圓括號來明確説明其中的邏輯以提高代碼可讀性。