輕輕松松搞定python

什么是程序

程序或者叫代碼直颅,本質(zhì)上就是一堆讓計(jì)算機(jī)干活的指令,每一條指令就是一個(gè)干活步驟空猜。指令讓計(jì)算機(jī)干什么就干什么持痰,沒(méi)有指令毒费,計(jì)算機(jī)就不知道怎么辦狈涮。計(jì)算機(jī)雖然四肢發(fā)達(dá)(執(zhí)行速度快)蚀苛,但頭腦簡(jiǎn)單,只能理解一些很簡(jiǎn)單指令掖举,所以要讓計(jì)算機(jī)干一些復(fù)雜的活游盲,就需要把活分解成一條一條很簡(jiǎn)單的指令介袜,這個(gè)分解過(guò)程就是寫(xiě)代碼仪芒,或者好聽(tīng)一點(diǎn)叫程序設(shè)計(jì)唁影。同時(shí)雖然代碼最終是給計(jì)算機(jī)執(zhí)行的,但編寫(xiě)掂名、修改和維護(hù)代碼的是人据沈,因此寫(xiě)代碼需要考慮怎么讓人看起來(lái)更容易。

標(biāo)識(shí)符

標(biāo)識(shí)符(identifier)饺蔑,其實(shí)就是名字锌介,就是給代碼中的一些東西取的名字,這些東西包括常量猾警、變量孔祸、函數(shù)等等,就跟數(shù)學(xué)證明題里的一樣肿嘲,因?yàn)楸緛?lái)最早程序就是用來(lái)做科學(xué)計(jì)算的。大多數(shù)編程語(yǔ)言都規(guī)定標(biāo)識(shí)符只能包含英文字母筑公、阿拉伯?dāng)?shù)字和下劃線(xiàn)雳窟,但開(kāi)頭不能是數(shù)字,標(biāo)識(shí)符區(qū)分大小寫(xiě)匣屡。python的標(biāo)識(shí)符更特殊一點(diǎn)封救,還可以是中文等其他字符,但一般不建議這么用捣作。

關(guān)鍵字

python 內(nèi)部已經(jīng)預(yù)先定義了一些標(biāo)識(shí)符誉结,這些標(biāo)識(shí)符是有特殊用途的,叫作保留字(reserved words)或關(guān)鍵字(keywords)券躁,其他標(biāo)識(shí)符不能和這些關(guān)鍵字沖突惩坑。關(guān)鍵字的用途在后面的章節(jié)會(huì)介紹掉盅。

False      class      finally    is         return
None       continue   for        lambda     try
True       def        from       nonlocal   while
and        del        global     not        with
as         elif       if         or         yield
assert     else       import     pass
break      except     in         raise

行、縮進(jìn)和注釋

程序的代碼是按一行一行排列的以舒,有些語(yǔ)言要求代碼行必須以分號(hào) ';' 結(jié)尾趾痘,python 不需要。程序出于流程控制需要蔓钟,有時(shí)需要把多行代碼組成一個(gè)代碼塊按條件執(zhí)行或不執(zhí)行的永票,一般其他語(yǔ)言的代碼塊大都要求使用大括號(hào)'{}'包起來(lái),但Python的代碼塊不使用大括號(hào)滥沫,而是用縮進(jìn)侣集,同一個(gè)代碼塊的代碼,具有相同縮進(jìn)兰绣,這樣做的目的是強(qiáng)制統(tǒng)一編碼風(fēng)格世分,從而讓別人閱讀代碼時(shí)更容易∠粱辏縮進(jìn)一般建議用4個(gè)空格罚攀。
如果一個(gè)代碼行只有空白字符(空格、回車(chē)換行雌澄、tab)就叫空白行斋泄,空白行在程序運(yùn)行時(shí)會(huì)被忽略。
一般的(有例外镐牺,后面再說(shuō))炫掐,如果代碼行中有 '#' 字符,則 '#' 字符及其后面的所有字符是注釋?zhuān)诔绦蜻\(yùn)行時(shí)也會(huì)被忽略睬涧。


變量與類(lèi)型

程序的最基本應(yīng)用就是數(shù)學(xué)計(jì)算(其實(shí)所有程序本質(zhì)就是數(shù)據(jù)計(jì)算募胃,不管你代碼里直接寫(xiě)的是不是數(shù)據(jù),最后在底層都變成了數(shù)據(jù)并計(jì)算畦浓,這就是為什么叫計(jì)算機(jī))痹束,要計(jì)算就要有數(shù)據(jù),而代碼中變量就是用來(lái)存儲(chǔ)數(shù)據(jù)的讶请,因?yàn)閿?shù)據(jù)有各種類(lèi)型祷嘶, 所以變量也支持多種不同類(lèi)型。一般變量的值在程序運(yùn)行過(guò)程中是可以被改變的夺溢,如果變量的值不能被改變论巍,則又叫常量,python其實(shí)并沒(méi)有真正意義上的常量风响,詳情后面章節(jié)會(huì)描述嘉汰。
python的變量不需要像c或java語(yǔ)言那樣聲明定義,對(duì)一個(gè)變量名進(jìn)行賦值状勤,就自動(dòng)聲明并定義了一個(gè)變量鞋怀。比如: x = 1双泪, 就定義了整數(shù)變量x,不需要寫(xiě)x的類(lèi)型名稱(chēng)接箫。
實(shí)際上在大多數(shù)情況下攒读,完全可以不用知道變量的類(lèi)型名,只有在涉及到一些高級(jí)特性后才需要用到類(lèi)型名辛友,獲取變量的類(lèi)型可以用內(nèi)置函數(shù)type薄扁,比如type(x)返回x的類(lèi)型。
因?yàn)樽兞啃枰鎯?chǔ)數(shù)據(jù)废累,因此需要占用內(nèi)存邓梅,定義一個(gè)變量,就會(huì)給該變量分配內(nèi)存用于保存數(shù)據(jù)邑滨。

數(shù)字

python包括整數(shù)日缨、浮點(diǎn)數(shù)(即實(shí)數(shù))、布爾數(shù)和復(fù)數(shù)四種數(shù)字類(lèi)型掖看,復(fù)數(shù)因?yàn)橐话愕膽?yīng)用不會(huì)用到匣距,后面忽略不講。

整數(shù)

python的整數(shù)(int)都是有符號(hào)的哎壳,也就是有正負(fù)(像c語(yǔ)言毅待,有一種無(wú)符號(hào)整數(shù)類(lèi)型,就是只有正數(shù)和0值归榕,沒(méi)有負(fù)數(shù)值)尸红,書(shū)寫(xiě)方式有10進(jìn)制,16進(jìn)制刹泄、八進(jìn)制外里、二進(jìn)制。
整數(shù)的最大值是沒(méi)有限制的特石,只要內(nèi)存夠大盅蝗,多少位都可以。
以下的實(shí)例是在python命令行中進(jìn)行的姆蘸,只要在linux shell中或windos cmd中敲python墩莫,就會(huì)出來(lái),更具體可以自行搜索乞旦,這里就不說(shuō)了贼穆。

>>> a = 17      #10進(jìn)制题山,'>>>'是命令提示符或叫輸入提示符兰粉,就是讓你在后面輸入代碼
>>> b = 0x11    #16進(jìn)制
>>> c = 0o21    #八進(jìn)制,很少用
>>> d = 0b10001 #二進(jìn)制
>>> a
17
>>> b
17
>>> c
17
>>> d
17
>>>
>>>
>>> a=-17 #負(fù)數(shù)
>>> b=9999999999999999999999999999999999999999999999999999999 #最大值沒(méi)有限制
>>> a
-17
>>> b
9999999999999999999999999999999999999999999999999999999
>>> 
>>> type(a)  #內(nèi)置函數(shù)type()用于返回變量或值的類(lèi)型
<class 'int'>

可以用內(nèi)置函數(shù)bin顶瞳、int玖姑、oct愕秫、hex把整數(shù)轉(zhuǎn)成2進(jìn)制、10進(jìn)制焰络、8進(jìn)制和16進(jìn)制字符串

>>> bin(16)
'0b10000'
>>> int(0b10000)
16
>>> oct(16)
'0o20'
>>> hex(16)
'0x10'

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

浮點(diǎn)數(shù)(float)也都是有符號(hào)的戴甩,采用雙精度

>>> a = 10.1 
>>> b = -10.1
>>> c = 10.1e2  # 10.1的10的2次方, e表示10
>>> d = 10.1e-2
>>> a
10.1
>>> b
-10.1
>>> c
1010.0
>>> d
0.101

布爾

布爾類(lèi)型(bool)只有兩種值:TrueFalse闪彼,布爾類(lèi)型是整數(shù)的子類(lèi)型甜孤,因此True的整數(shù)值為1,False的整數(shù)值為0
注意TrueFalse首字母大寫(xiě)

>>> a = True
>>> b = False
>>> 
>>> a
True
>>> b
False
>>> a + 1
2
>>> b + 1
1

布爾值主要用來(lái)做條件判斷畏腕,布爾值可以做and缴川、ornot運(yùn)算

>>> a and b
False
>>> a or b
True
>>> not a
False
>>> not b
True
>>> 2 > 3
False
>>> 2 < 3
True

數(shù)字運(yùn)算

整數(shù)、浮點(diǎn)數(shù)和布爾數(shù)都可以做以下加減乘除等運(yùn)算描馅,注意對(duì)后面兩種運(yùn)算把夸,如果是負(fù)數(shù)的話(huà),運(yùn)算結(jié)果有點(diǎn)違反常識(shí)铭污,會(huì)比較難理解恋日,但因?yàn)橐话愫苌儆玫剑瑫簳r(shí)先忽略嘹狞,有用到的再去深究岂膳。

運(yùn)算 結(jié)果 例子
x + y 加法
x - y 減法
x + y 乘法
x / y 除法,返回浮點(diǎn)數(shù)
x // y 返回除法的整數(shù)部分刁绒,丟棄分?jǐn)?shù)部分闷营,向下取整
x % y 取模,返回除法的余數(shù)

另外知市,整數(shù)類(lèi)型還可做位運(yùn)算

運(yùn)算 結(jié)果 例子
x | y 按位或
x ^ y 按位異或
x & y 按位與
x << n 左移傻盟,相當(dāng)于乘于2的n次方
x >> n 右移,相當(dāng)于除于2的n次方嫂丙,但結(jié)果小于1娘赴,則為0
~x 按位取反

None

對(duì)一個(gè)變量進(jìn)行賦值時(shí),如果暫時(shí)不知道賦什么值跟啤,就把他置為None诽表,表示這個(gè)變量為空,None是一種特殊的常量值隅肥,類(lèi)型為NoneType竿奏。
函數(shù)沒(méi)有返回值時(shí),默認(rèn)返回None腥放。
注意None不是0泛啸,也和c語(yǔ)言里的空指針null不一樣。

>>> type(None)
<class 'NoneType'>
>>> 
>>> a = None 
>>> type(a)
<class 'NoneType'>

序列

...待續(xù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秃症,一起剝皮案震驚了整個(gè)濱河市候址,隨后出現(xiàn)的幾起案子吕粹,更是在濱河造成了極大的恐慌,老刑警劉巖岗仑,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匹耕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡荠雕,警方通過(guò)查閱死者的電腦和手機(jī)稳其,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)炸卑,“玉大人欢际,你說(shuō)我怎么就攤上這事》担” “怎么了损趋?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)椅寺。 經(jīng)常有香客問(wèn)我浑槽,道長(zhǎng),這世上最難降的妖魔是什么返帕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任桐玻,我火速辦了婚禮,結(jié)果婚禮上荆萤,老公的妹妹穿的比我還像新娘镊靴。我一直安慰自己,他們只是感情好链韭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布偏竟。 她就那樣靜靜地躺著,像睡著了一般敞峭。 火紅的嫁衣襯著肌膚如雪踊谋。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天旋讹,我揣著相機(jī)與錄音殖蚕,去河邊找鬼。 笑死沉迹,一個(gè)胖子當(dāng)著我的面吹牛睦疫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鞭呕,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蛤育,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起缨伊,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎进宝,沒(méi)想到半個(gè)月后刻坊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡党晋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年谭胚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片未玻。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡灾而,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扳剿,到底是詐尸還是另有隱情旁趟,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布庇绽,位于F島的核電站锡搜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瞧掺。R本人自食惡果不足惜耕餐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望辟狈。 院中可真熱鬧肠缔,春花似錦、人聲如沸哼转。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)壹蔓。三九已至亚隅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間庶溶,已是汗流浹背煮纵。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留偏螺,地道東北人行疏。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像套像,于是被迫代替她去往敵國(guó)和親酿联。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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