計算機處理的數據不單純的指數字,計算機能夠處理數字、文本、音頻、視頻等等各類數據,下面描述的是Python中能夠直接使用和處理的基本數據類型。java
整數python
Python能夠處理任意大小的整數,跟java等語言整數區分int和long不同,Python的整數就一種,能夠是無限大小的正整數或者負整數。例如十進制就是五、198三、-26等,16進制使用0x前綴,例如0xfa9八、0xb123等視頻
浮點數blog
浮點數也就是平常中常說的小數,只是由於使用科學計數法時小數點能夠在任意位置,因此稱浮點數更合適,浮點數寫法也跟數學中同樣,如1.8五、-6.8,用科學計數法是10用e代替,如1.82x10^5就的寫法就是1.82e5內存
浮點數的計算結果有時候是不精確的,有時候得到的結果是四捨五入以後的。字符串
跟java相比不太同樣的地方,java中整數之間作/運算是取整的意思,也就是所謂的地板除法。Python中提供了兩個除法符號 / 和 // , / 的結果永遠是浮點數(即便可以整除), // 的結果是取整,永遠是整數,取餘用%數學
>>> 9/3 3.0 >>> 10/3 3.3333333333333335 >>> 10//3 3 >>> 10%3 1
字符串class
字符串能夠理解爲一段文本,用單引號或雙引號括起來,例如'asdf'和"asdf"表示的字符串內容是同樣的,這種只有單引號或雙引號一種的,引號不包含在字符串中,若是字符串中包含單引號或雙引號,能夠嵌套使用,例如音頻
>>> print("I'am victor") I'am victor >>> print('I"am victor') I"am victor
或者使用轉義字符,轉義字符能夠轉義不少,好比\n表示換行,\t表示製表符,字符\自己也要轉義,因此\\表示的字符就是\,例如變量
>>> print("I'am \"victor\"") I'am "victor" >>> print("I'am \"victor\" \n I'am leaning Python \\\\") I'am "victor" I'am leaning Python \\
使用過多的轉移字符看起來很亂,Python還提供了一個漸變方法,在字符串前面加上 r 字符串就不會轉義了
>>> print("I'am \"victor\"") I'am "victor" >>> print(r"I'am \"victor\"") I'am \"victor\"
還容許使用三個單引號或雙引號直接將多行字符串原樣輸出,可是轉義字符仍是會轉義,不想轉義前面仍是要加上r,'''XXX''' """XXX""",例如
>>> print("""I'am \"victor\" ... I am ... leaning ... Python""") I'am "victor" I am leaning Python
布爾值
布爾值只有True和False兩個值,注意區分大小寫
>>> (1==2)==True False
布爾值能夠用and、or和not運算,這個運算規則跟其餘語言同樣,and運算是與運算,只有全部都爲True,and運算結果纔是True。or運算是或運算,只要其中有一個爲True,or運算結果就是True。not運算是非運算,它是一個單目運算符,把True變成False,False變成True
>>> True and False False >>> True or False True >>> not True False
空值
Python中的空值用None表示,注意大小寫,空值不是0也不是"",這種有意義的值並非None,None是一個特殊的空值,含義跟java中的null同樣
>>> 0 == None False >>> >>> "" == None False
變量
變量在程序中就是用一個變量名錶示,變量名必須是大小寫字母、數字和_的組合,且不能用數字開頭,變量用=賦值,注意一點Python是動態語言,跟java這類靜態語言不太同樣的地方就是動態語言更靈活,同一個變量能夠賦值不一樣類型的值。
a = 2 print(a) a = "abC" print(a) #這個代碼java會報錯,由於兩次賦值類型不同,Python會正常執行後輸出 2 abC
解釋一下賦值過程,先猜猜下面的代碼,輸出的a和b值是什麼?
a = "abc" b = a a = "def" print("a =", a) print("b =", b)
代碼執行後的輸出結果是a = def b = abc ,相信大部分人都能答對,下面簡單介紹一下執行過程,第一行的時候解釋器在內存分配了一個區域保存"abc"這個值,並把a這個變量指向"abc"所在的內存地址。第二行建立了一個變量b,並將a指向的地址賦給b,這樣b也是指向了"abc"所在的內存地址。第三行又建立了一個"def"的內存區域,將a指向了"def"所在的內存地址,而這時b的指向並無變化,因此執行後會輸出這樣的結果。
常量
常量就是固定不變的數據,約定俗成常量名所有大寫,這個不變是從業務上定義的不變,例如圓周率PI = 3.1415926,固然你必定要在代碼中改變PI的值,也沒人攔得住你。