Python 03_變量和數(shù)據(jù)類型

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

在 Python 中,能夠直接處理的數(shù)據(jù)類型有以下幾種:

整數(shù)

Python 可以直接處理任意大小的整數(shù)澎剥,包含負(fù)整數(shù)叭首。 十進(jìn)制表示整數(shù)和數(shù)學(xué)上一樣;十六進(jìn)制表示整數(shù)需要在前面加 0x 互广, 后面用十六進(jìn)制表示敛腌。

浮點(diǎn)數(shù)

浮點(diǎn)數(shù)即小數(shù),之所以叫浮點(diǎn)數(shù)惫皱,是因?yàn)榘凑湛茖W(xué)計(jì)數(shù)法表示時(shí)像樊,一個(gè)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可變的。 整數(shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部的儲存方式是不同的旅敷,整數(shù)運(yùn)算永遠(yuǎn)是精確的( 除法也是精確的生棍!) ,而浮點(diǎn)數(shù)可能會有四舍五入的誤差媳谁。

字符串

字符串是以 ' ' 涂滴," " , 括起來的任意文本晴音。

布爾值

布爾值和布爾代數(shù)的表示完全一致柔纵,一個(gè)布爾值只有 True、False 兩種值段多;Python 中可以直接使用 True首量、False 表示布爾值(注意大小寫),也可以通過布爾運(yùn)算計(jì)算出來进苍,布爾值可以用 and (與) 加缘、or (或)、not(非)運(yùn)算 觉啊。

空值

空值是 Python 里一個(gè)特殊的值拣宏,用 None 表示。 None 不能理解為 0 杠人,因?yàn)?0 是有意義的勋乾,而 None 是一個(gè)特殊的空值。

此外嗡善, Python 還提供了列表辑莫、字典、等多種數(shù)據(jù)類型罩引; 還允許創(chuàng)建自己定義的數(shù)據(jù)類型各吨, 后面繼續(xù)學(xué)習(xí)。

練習(xí):
1.計(jì)算十進(jìn)制整數(shù)和十六進(jìn)制整數(shù)之和袁铐, 自己隨便相加揭蜒。 (Python 可以直接進(jìn)行操作横浑!)
2.用字符串表示一串字符。 例如: Learn Python in 2017.6
3.計(jì)算表達(dá)式的布爾值屉更。例如: 99>100徙融, 0xff == 255 。
使用 print 命令打印

02 print 語句

print語句可以向屏幕上輸出指定的文字瑰谜。比如輸出'hello, world'欺冀,用代碼實(shí)現(xiàn)如下:

>>> print 'Hello,World'
  • 在 Python 交互式環(huán)境下編寫代碼時(shí)似舵, >>> 是 Python 解釋器的提示符脚猾,而不是代碼葱峡。
  • 在自己寫的時(shí)候不要加 >>> 砚哗。

print 語句也可以跟多個(gè)字符串, 用逗號隔開砰奕,就可以連成一串輸出:

>>> print  'one', 'two', 'three'

print 會一次打印每個(gè)字符串蛛芥,遇到逗號 '','' 會輸出一個(gè)空格。 從而輸出:

one two three

03 Python 的注釋

Python 中使用 # 來注釋代碼军援。

04 Python 中什么是變量

Python 程序中的變量仅淑, 是用一個(gè)變量名表示,變量名必須是 大小寫英文胸哥、數(shù)字和下劃線(_)的組合涯竟,且不能用數(shù)字開頭
在 Python 中 = 號是賦值語句空厌,可以把任意數(shù)據(jù)類型賦值給變量庐船,同一個(gè)變量可以反復(fù)賦值, 而且可以是不同類型的變量嘲更。例如:

x = 100      # x 是整數(shù)
print x
x = 'learn python'    # x 為字符串
print x

這種變量本身類型不固定的語言稱為動態(tài)語言筐钟,與之對應(yīng)的是靜態(tài)語言;靜態(tài)語言在定義變量時(shí)必須指定變量類型赋朦,否則在賦值的時(shí)候就會出錯(cuò)篓冲、像Java、C/C++ 這樣的靜態(tài)語言在賦值前都要指定變量類型宠哄。

練習(xí):
等差數(shù)列可以定義為每一項(xiàng)與它的前一項(xiàng)的差等于一個(gè)常數(shù)壹将,可以用變量 a1 表示等差數(shù)列的第一項(xiàng), 用 d 表示公差毛嫉,請計(jì)算數(shù)列 1 4 7 10 13 16 19 ...
前 100 項(xiàng)的和诽俯。

a1 = 1
d = 3
n = 100
an = a1 + (n-1) * d
s = n * a1 + n * (n-1) * d/2
print  s

05 Python 中定義字符串

當(dāng)然字符串都知道是怎么定義的了。 這里主要提及到 ' ' 和 '' '' 在某些時(shí)候互相包含狱庇,或者同時(shí)存在的情況惊畏。如果同時(shí)存在恶耽, 那么就要用轉(zhuǎn)義字符 \ 來表示一個(gè)普通的字符,不代表字符串的起始颜启。

'Jane said \" I\' m OK\"!'

其他轉(zhuǎn)義字符:

\n 表示換行
\t  表示一個(gè)制表符
\\  表示 \ 字符本身
等等......

06 Python 中 raw 字符串與多行字符串

為了避免一個(gè)字符串里包含了很多需要轉(zhuǎn)義的字符偷俭, 對每一個(gè)都進(jìn)行轉(zhuǎn)義那么就很麻煩, Python 中缰盏, 可以在前面加一個(gè) r 涌萤, 表示這是一個(gè) raw 字符串,里面需要轉(zhuǎn)義的字符就不用轉(zhuǎn)義了口猜; 但是 r'...' 表示法不能表示多行字符串负溪, 也不能表示包含 ' 和 '' 的字符串 !
如果要表示多行济炎, 就用 '''......''' 來表示川抡。( 也可以在多行字符串前面加 r , 把這個(gè)多行變成一個(gè) raw 字符串须尚。 )

07 Python 中的 Unicode 字符串

當(dāng)然字符串還會涉及一個(gè)編碼的問題崖堤。 一些關(guān)于 Unicode 的歷史,這里就不說了耐床。
在 Python 中后來添加了對 Unicode 的支持密幔, 以 Unicode 表示的字符串用 u'...' 表示, 例如 :

print u'我的世界'

注意: 不加 u 中文就不能正常顯示撩轰。 所以 Unicode 字符串除了多了一個(gè) u 之外胯甩,與普通的字符串沒什么區(qū)別。 轉(zhuǎn)義字符和多行字符串表示法堪嫂,raw + 多行 仍然有效偎箫。

如果中文字符串在 Python 環(huán)境下遇到 UnicodeDecodeError, 這是因?yàn)?.py 文件保存的格式有問題溉苛【盗可以在第一行添加注釋。

# -*- coding: utf-8 -*-

這樣的作用就是告訴 Python 解釋器愚战,用 UTF-8 編碼讀取的源代碼娇唯,然后用 Notepad++ 或者其他 另存為...并選擇 UTF-8 格式保存。

07 Python 中整數(shù)和浮點(diǎn)數(shù)

Python 中對整數(shù)和浮點(diǎn)數(shù)的運(yùn)算跟數(shù)學(xué)中的四則運(yùn)算規(guī)則完全一致寂玲, 但和數(shù)學(xué)運(yùn)算不同的地方是塔插, Python 的整數(shù)運(yùn)算結(jié)果仍然是整數(shù), 浮點(diǎn)數(shù)運(yùn)算結(jié)果仍然是浮點(diǎn)數(shù)拓哟。但整數(shù)和浮點(diǎn)數(shù)的運(yùn)算結(jié)果就變成了浮點(diǎn)數(shù)想许。
為什么要區(qū)分整數(shù)和浮點(diǎn)數(shù)?

計(jì)算機(jī)的無法表示無限循環(huán)小數(shù)。

小練習(xí):
請計(jì)算 2.5 + 10 / 4 ,并解釋計(jì)算結(jié)果為什么不是期望的 5.0 ?
請修復(fù)上述運(yùn)算流纹,使得計(jì)算結(jié)果是 5.0

print 2.5 + 10.0 / 4

08 Python 中的布爾類型

布爾值只有 2 種: True & False 糜烹。但是在布爾類型運(yùn)算有以下幾種:
與運(yùn)算:
兩個(gè)布爾值都為 True 時(shí), 計(jì)算結(jié)果才為 True漱凝。

True and True   # ==> True
True and False   # ==> False
False and True   # ==> False
False and False   # ==> False

或運(yùn)算:
一個(gè)布爾值為 True 時(shí)疮蹦, 計(jì)算結(jié)果才為 True。

True or True      # ==> True
True or False     # ==> True
False or True     # ==> True
False or False   # ==> False

非運(yùn)算:
把 True 變?yōu)?False茸炒, 或者把 False 變?yōu)?True愕乎。

not True   # ==> False
not False   # ==> True

在 Python 中把 0空字符串''None看成是 False壁公,其他數(shù)值和非空字符串都看成是 True感论。
Python解釋器在做布爾運(yùn)算時(shí),只要能提前確定計(jì)算結(jié)果紊册,它就不會往后算了比肄,直接返回結(jié)果; 這涉及到 Python 中 and 和 or 運(yùn)算的一條重要法則短路計(jì)算湿硝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末薪前,一起剝皮案震驚了整個(gè)濱河市润努,隨后出現(xiàn)的幾起案子关斜,更是在濱河造成了極大的恐慌,老刑警劉巖铺浇,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痢畜,死亡現(xiàn)場離奇詭異,居然都是意外死亡鳍侣,警方通過查閱死者的電腦和手機(jī)丁稀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來倚聚,“玉大人线衫,你說我怎么就攤上這事』笳郏” “怎么了授账?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惨驶。 經(jīng)常有香客問我白热,道長,這世上最難降的妖魔是什么粗卜? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任屋确,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘攻臀。我一直安慰自己焕数,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布刨啸。 她就那樣靜靜地躺著百匆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呜投。 梳的紋絲不亂的頭發(fā)上加匈,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機(jī)與錄音仑荐,去河邊找鬼雕拼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛粘招,可吹牛的內(nèi)容都是我干的啥寇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼洒扎,長吁一口氣:“原來是場噩夢啊……” “哼辑甜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起袍冷,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤磷醋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后胡诗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體邓线,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年煌恢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骇陈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瑰抵,死狀恐怖你雌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情二汛,我是刑警寧澤婿崭,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站习贫,受9級特大地震影響逛球,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苫昌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一颤绕、第九天 我趴在偏房一處隱蔽的房頂上張望幸海。 院中可真熱鬧,春花似錦奥务、人聲如沸物独。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挡篓。三九已至,卻和暖如春帚称,著一層夾襖步出監(jiān)牢的瞬間官研,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工闯睹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留戏羽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓楼吃,卻偏偏與公主長得像始花,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子孩锡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容