標籤:

python數據類型和變數以及編碼問題學習總結

內容主要學習廖雪峰老師的教程

liaoxuefeng.com/wiki/00

數據類型

計算機顧名思義就是可以做數學計算的機器,因此,計算機程序理所當然地可以處理各種數值。但是,計算機能處理的遠不止數值,還可以處理文本、圖形、音頻、視頻、網頁等各種各樣的數據,不同的數據,需要定義不同的數據類型。在Python中,能夠直接處理的數據類型有以下幾種:

整數

Python可以處理任意大小的整數,當然包括負整數,在程序中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。

計算機由於使用二進位,所以,有時候用十六進位表示整數比較方便,十六進位用0x前綴和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。

浮點數

浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是完全相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。

整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四捨五入的誤差。

字元串

字元串是以單引號或雙引號"括起來的任意文本,比如abc,"xyz"等等。請注意,或""本身只是一種表示方式,不是字元串的一部分,因此,字元串abc只有a,b,c這3個字元。如果本身也是一個字元,那就可以用""括起來,比如"Im OK"包含的字元是I,,m,空格,O,K這6個字元。

如果字元串內部既包含又包含"怎麼辦?可以用轉義字元來標識,比如:

print(Im ok)Im ok# 轉義字元可以轉義很多字元,比如
表示換行, 表示製表符,字元本身也要轉義,所以表示的字元就是
print(Im ok.)print(Im learning
Python.)print(\
\
)Im ok.Im learningPython.\# 如果字元串裡面有很多字元都需要轉義,就需要加很多,為了簡化,Python還允許用r表示內部的字元串默認不轉義,可以自己試試:print(\ \)print(r\ \) \\t\# 如果字元串內部有很多換行,用
寫在一行里不好閱讀,為了簡化,Python允許用...的格式表示多行內容,可以自己試試:
print(line1line2line3)line1line2line3# 多行字元串...還可以在前面加上r使用print(rhello,
world)hello,nworld# 布爾值# 布爾值和布爾代數的表示完全一致,一個布爾值只有True、False兩種值,要麼是True,要麼是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來:print(True)print(False)print(3 > 2)print(3 > 5)print(False)TrueFalseTrueFalseFalse# 布爾值可以用and、or和not運算。and運算是與運算,只有所有都為True,and運算結果才是Trueprint(True and True)print(True and False)print(False and False)print(5 > 3 and 3 > 1)# or運算是或運算,只要其中有一個為True,or運算結果就是True:print(True or True)print(True or False)print(False or False)print(5 > 3 or 1 > 3)# not運算是非運算,它是一個單目運算符,把True變成False,False變成True:print(not True)print(not False)print(not 1 > 2)TrueFalseFalseTrueTrueTrueFalseTrueFalseTrueTrue# 空值# 空值是Python里一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。# 此外,Python還提供了列表、字典等多種數據類型,還允許創建自定義數據類型,我們後面會繼續講到。# 變數# 變數的概念基本上和初中代數的方程變數是一致的,只是在計算機程序中,變數不僅可以是數字,還可以是任意數據類型。# 變數在程序中就是用一個變數名表示了,變數名必須是大小寫英文、數字和_的組合,且不能用數字開頭,比如:a = 1# 變數a是一個整數t_007 = T007# 變數t_007是一個字元串。Answer = True# 變數Answer是一個布爾值True# 在Python中,等號=是賦值語句,可以把任意數據類型賦值給變數,同一個變數可以反覆賦值,而且可以是不同類型的變數,例如:a = 123 # a是整數print(a)a = ABC # a變為字元串print(a)# 這種變數本身類型不固定的語言稱之為動態語言,與之對應的是靜態語言。靜態語言在定義變數時必須指定變數類型,如果賦值的時候類型不匹配,就會報錯。# 最後,理解變數在計算機內存中的表示也非常重要。當我們寫:a = ABC# 時,Python解釋器幹了兩件事情:# 在內存中創建了一個ABC的字元串;# 在內存中創建了一個名為a的變數,並把它指向ABC。# 常量# 所謂常量就是不能變的變數,比如常用的數學常數π就是一個常量。在Python中,通常用全部大寫的變數名表示常量:PI = 3.14159265359# 在Python中,有兩種除法,一種除法是/,/除法計算結果是浮點數,即使是兩個整數恰好整除,結果也是浮點數# 還有一種除法是//,稱為地板除,兩個整數的除法仍然是整數print(10/3)print(9//3)# 所以Python還提供一個餘數運算%,可以得到兩個整數相除的餘數print(8%3)123ABC3.333333333333333532

python的字元編碼問題確實令人頭疼,不弄明白,以後在編碼過程中遇到問題會很麻煩。

具體可以學習下面這篇博文,寫的很好

cnblogs.com/linhaifeng/

推薦閱讀:

牛逼的Python書,你看過幾本?
值得收藏|菜鳥學Python【入門文章大全】
pycham如何整合pyqt5並安裝qtdesigner?
解答初學者對for i,j 的疑惑
python及numpy,pandas易混淆的點

TAG:Python |