2019-05-05 Python --數(shù)據(jù)類型和變量

數(shù)據(jù)類型

計算機顧名思義就是可以做數(shù)學計算的機器柳沙,因此岩灭,計算機程序理所當然地可以處理各種數(shù)值。但是赂鲤,計算機能處理的遠不止數(shù)值,還可以處理文本柱恤、圖形数初、音頻、視頻梗顺、網(wǎng)頁等各種各樣的數(shù)據(jù)泡孩,不同的數(shù)據(jù),需要定義不同的數(shù)據(jù)類型寺谤。在Python中仑鸥,能夠直接處理的數(shù)據(jù)類型有以下幾種:

整數(shù)

Python可以處理任意大小的整數(shù),當然包括負整數(shù)变屁,在程序中的表示方法和數(shù)學上的寫法一模一樣眼俊,例如:1,100粟关,-8080疮胖,0,等等。

計算機由于使用二進制澎灸,所以院塞,有時候用十六進制表示整數(shù)比較方便,十六進制用0x前綴和0-9性昭,a-f表示拦止,例如:0xff00,0xa5b4c3d2糜颠,等等创泄。

浮點數(shù)

浮點數(shù)也就是小數(shù),之所以稱為浮點數(shù)括蝠,是因為按照科學記數(shù)法表示時鞠抑,一個浮點數(shù)的小數(shù)點位置是可變的,比如忌警,1.23x109和12.3x108是完全相等的搁拙。浮點數(shù)可以用數(shù)學寫法,如1.23法绵,3.14箕速,-9.01,等等朋譬。但是對于很大或很小的浮點數(shù)盐茎,就必須用科學計數(shù)法表示,把10用e替代徙赢,1.23x109就是1.23e9字柠,或者12.3e8,0.000012可以寫成1.2e-5狡赐,等等窑业。

字符串

字符串是以單引號'或雙引號"括起來的任意文本,比如'abc'枕屉,"xyz"等等常柄。請注意,''或""本身只是一種表示方式搀擂,不是字符串的一部分西潘,因此,字符串'abc'只有a哨颂,b喷市,c這3個字符。如果'本身也是一個字符咆蒿,那就可以用""括起來东抹,比如"I'm OK"包含的字符是I蚂子,',m缭黔,空格食茎,O,K這6個字符馏谨。

如果字符串內(nèi)部既包含'又包含"怎么辦别渔?可以用轉義字符\來標識,比如:

'I\'m \"OK\"!'

表示的字符串內(nèi)容是:

I'm "OK"!

轉義字符\可以轉義很多字符惧互,比如\n表示換行哎媚,\t表示制表符,字符\本身也要轉義喊儡,所以\\表示的字符就是\拨与,可以在Python的交互式命令行用print()打印字符串看看:

>>>print('I\'m ok.')I'm ok.

>>> print('I\'m learning\nPython.')I'm learning

Python.

>>> print('\\\n\\')

\

\

如果字符串里面有很多字符都需要轉義,就需要加很多\艾猜,為了簡化买喧,Python還允許用r''表示''內(nèi)部的字符串默認不轉義,可以自己試試:

>>> print('\\\t\\')

\? ? ? \

>>> print(r'\\\t\\')

\\\t\\



如果字符串內(nèi)部有很多換行匆赃,用\n寫在一行里不好閱讀淤毛,為了簡化,Python允許用'''...'''的格式表示多行內(nèi)容算柳,可以自己試試:

>>> print('''line1... line2... line3''')line1line2line3

上面是在交互式命令行內(nèi)輸入低淡,注意在輸入多行內(nèi)容時,提示符由>>>變?yōu)?..瞬项,提示你可以接著上一行輸入蔗蹋,注意...是提示符,不是代碼的一部分:


布爾值

布爾值和布爾代數(shù)的表示完全一致滥壕,一個布爾值只有True纸颜、False兩種值,要么是True绎橘,要么是False,在Python中唠倦,可以直接用True称鳞、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來:


空值

空值是Python里一個特殊的值稠鼻,用None表示冈止。None不能理解為0,因為0是有意義的候齿,而None是一個特殊的空值熙暴。

此外闺属,Python還提供了列表、字典等多種數(shù)據(jù)類型周霉,還允許創(chuàng)建自定義數(shù)據(jù)類型掂器,我們后面會繼續(xù)講到。

變量

變量的概念基本上和初中代數(shù)的方程變量是一致的俱箱,只是在計算機程序中国瓮,變量不僅可以是數(shù)字,還可以是任意數(shù)據(jù)類型狞谱。

變量在程序中就是用一個變量名表示了乃摹,變量名必須是大小寫英文、數(shù)字和_的組合跟衅,且不能用數(shù)字開頭孵睬,比如:

a =1

變量a是一個整數(shù)。

t_007 ='T007'

變量t_007是一個字符串伶跷。

Answer =True

變量Answer是一個布爾值True掰读。

在Python中,等號=是賦值語句撩穿,可以把任意數(shù)據(jù)類型賦值給變量磷支,同一個變量可以反復賦值,而且可以是不同類型的變量食寡,例如

這種變量本身類型不固定的語言稱之為動態(tài)語言雾狈,與之對應的是靜態(tài)語言。靜態(tài)語言在定義變量時必須指定變量類型抵皱,如果賦值的時候類型不匹配善榛,就會報錯。例如Java是靜態(tài)語言呻畸,賦值語句如下(// 表示注釋):

inta =123;// a是整數(shù)類型變量a ="ABC";// 錯誤:不能把字符串賦給整型變量

和靜態(tài)語言相比移盆,動態(tài)語言更靈活,就是這個原因伤为。


最后咒循,理解變量在計算機內(nèi)存中的表示也非常重要。當我們寫:

a ='ABC'

時绞愚,Python解釋器干了兩件事情:

在內(nèi)存中創(chuàng)建了一個'ABC'的字符串叙甸;

在內(nèi)存中創(chuàng)建了一個名為a的變量,并把它指向'ABC'位衩。

也可以把一個變量a賦值給另一個變量b裆蒸,這個操作實際上是把變量b指向變量a所指向的數(shù)據(jù),例如下面的代碼:

a = 'ABC'

b = a

a = 'XYZ'

print(b)

最后一行打印出變量b的內(nèi)容到底是'ABC'呢還是'XYZ'糖驴?如果從數(shù)學意義上理解僚祷,就會錯誤地得出b和a相同佛致,也應該是'XYZ',但實際上b的值是'ABC'


常量

所謂常量就是不能變的變量辙谜,比如常用的數(shù)學常數(shù)π就是一個常量俺榆。在Python中,通常用全部大寫的變量名表示常量:

PI =3.14159265359

但事實上PI仍然是一個變量筷弦,Python根本沒有任何機制保證PI不會被改變肋演,所以,用全部大寫的變量名表示常量只是一個習慣上的用法烂琴,如果你一定要改變變量PI的值爹殊,也沒人能攔住你。

最后解釋一下整數(shù)的除法為什么也是精確的奸绷。在Python中梗夸,有兩種除法,一種除法是/:

>>> 10/33.3333333333333335

/除法計算結果是浮點數(shù)号醉,即使是兩個整數(shù)恰好整除反症,結果也是浮點數(shù):

>>> 9/33.0

還有一種除法是//,稱為地板除畔派,兩個整數(shù)的除法仍然是整數(shù):

>>>10// 33

你沒有看錯铅碍,整數(shù)的地板除//永遠是整數(shù),即使除不盡线椰。要做精確的除法胞谈,使用/就可以。

因為//除法只取結果的整數(shù)部分憨愉,所以Python還提供一個余數(shù)運算烦绳,可以得到兩個整數(shù)相除的余數(shù):

>>> 10%31

無論整數(shù)做//除法還是取余數(shù),結果永遠是整數(shù)配紫,所以径密,整數(shù)運算結果永遠是精確的。



????以上內(nèi)容均為廖雪峰老師所寫躺孝,為了找個方式鼓勵自己多多學習享扔,讓自己認真讀并加深對廖老師每一句得話得含義,邊學邊復制簡述植袍,記錄在簡書這個平臺里伪很,大家要是有興趣一起學習,可以登陸廖雪峰老師得官方網(wǎng)站奋单。特別贊~~

? ? 最后,謝謝簡書這個平臺猫十,謝謝廖雪峰老師的知識的無私奉獻~

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末览濒,一起剝皮案震驚了整個濱河市呆盖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贷笛,老刑警劉巖应又,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異乏苦,居然都是意外死亡株扛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門汇荐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洞就,“玉大人,你說我怎么就攤上這事掀淘⊙” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵革娄,是天一觀的道長倾贰。 經(jīng)常有香客問我,道長拦惋,這世上最難降的妖魔是什么匆浙? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮厕妖,結果婚禮上首尼,老公的妹妹穿的比我還像新娘。我一直安慰自己叹放,他們只是感情好饰恕,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著井仰,像睡著了一般埋嵌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俱恶,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天雹嗦,我揣著相機與錄音,去河邊找鬼合是。 笑死了罪,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的聪全。 我是一名探鬼主播泊藕,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼难礼!你這毒婦竟也來了娃圆?” 一聲冷哼從身側響起玫锋,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎讼呢,沒想到半個月后撩鹿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡悦屏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年节沦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片础爬。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡甫贯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出幕帆,到底是詐尸還是另有隱情获搏,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布失乾,位于F島的核電站常熙,受9級特大地震影響,放射性物質發(fā)生泄漏碱茁。R本人自食惡果不足惜裸卫,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纽竣。 院中可真熱鬧墓贿,春花似錦、人聲如沸蜓氨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽穴吹。三九已至幽勒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間港令,已是汗流浹背啥容。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留顷霹,地道東北人咪惠。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像淋淀,于是被迫代替她去往敵國和親遥昧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345