《從Python開始學(xué)編程》第2章 先做鍵盤俠

1 基本算數(shù)運(yùn)算和邏輯運(yùn)算

算數(shù)運(yùn)算包括加減乘除、乘方稚伍、求余數(shù),使用方法和C語言等基本相似戚宦,唯一新方法是乘方个曙,Python的乘方使用 ** 表示:

3**2    # *這個表示3的平方*

除此之外,字符串也有新的運(yùn)算:

"hello" + "world !" # 運(yùn)用加法可以連接字符串
"hello~" * 2        # 運(yùn)用乘法可以連續(xù)輸出字符串受楼,這里指連續(xù)輸出兩次

邏輯運(yùn)算就是基本的與垦搬、或、非三種艳汽。Python用and表示與猴贰;用or表示或;用not表示非河狐,真用Ture表示米绕,假用False表示(注意開頭字母必須大寫)。邏輯運(yùn)算和輸出結(jié)果符合邏輯學(xué)的基本運(yùn)算準(zhǔn)則馋艺。

True or False   # 結(jié)果為True
True and False  # 結(jié)果為False
not True        # 結(jié)果為False

比較運(yùn)算包括大于(>)栅干、大于等于(>=)、小于(<)丈钙、小于等于(<=)非驮、等于(=)交汤、不等于(!=)這幾種雏赦,也符合邏輯運(yùn)算準(zhǔn)則。

7>8     # 結(jié)果為False
10<=10  # 結(jié)果為True
2==3    # 結(jié)果為False

2 變量的使用

一般我們都需要書寫大規(guī)模應(yīng)用程序芙扎,所以需要儲存中間數(shù)據(jù)星岗。程序語言采用變量的聲明和定義來儲存數(shù)據(jù)。Python采用動態(tài)調(diào)用戒洼,所以無需聲明即可直接定義(賦值)俏橘。定義時可以采用算術(shù)運(yùn)算對變量賦值,賦值時可以使用其他已定義的變量圈浇。我們可以使用print函數(shù)打印變量結(jié)果到控制臺寥掐。

a2 = 3**2
b2 = 4**2
c2 = a2 + b2    # 典型勾股定理賦值
print(c2)       # 輸出結(jié)果到控制臺

Python變量有許多數(shù)據(jù)類型,和C類似磷蜀,包括<u>整形召耘、浮點(diǎn)型、字符串褐隆、布爾型</u>污它。Python會自動是被并存儲定義的變量,無需聲明類型,這減少了代碼的復(fù)雜度衫贬。

a = 1                   # 整形
b = 2.1                 # 浮點(diǎn)型
c = "hello world !"      # 字符串
d = True                # 布爾
print(a, b, c, d)       # 連續(xù)輸出

3 條件語句

條件語句也成為分支語句德澈,在Python中使用if完成,主要讓計算機(jī)在不同的情況下執(zhí)行不同的程序固惯。計算機(jī)通過判斷if條件語句的邏輯運(yùn)算結(jié)果來決定執(zhí)行什么代碼梆造。此外,Python為了整潔易讀缝呕,摒棄了C語言中每條語句的分號澳窑,條件判斷的小括號,還有確定域生命周期的大括號供常,采用冒號和tab符來表示摊聋。下面舉例:

if love==Ture:
    print("you fall in love !")

顯然一個條件判斷不夠,我們還需要其他分支栈暇,Python中使用elif表示麻裁。還有一個“其他情況”的分支,用else表示源祈。

if love==True:
    print("you fall in love !")
elif love==False:
    print("you are not in love with anyone !")
else :
    print("impossible !")

4 循環(huán)語句

Python采用for做循環(huán)語句煎源,后跟定義的變量,之后跟in香缺,in后跟要循環(huán)的對象手销。這里介紹一下range(from, to, step)函數(shù),他可以生成for循環(huán)的從fromto-1step為步長的數(shù)字序列图张。如果只寫一個數(shù)字锋拖,則代表0到這個數(shù)字減1的一個序列。例如

range(0, 5, 2)  # 表示序列:0 2 4
range(4)        # 表示序列:0 1 2 3

所以我們根據(jù)for循環(huán)的語法祸轮,寫一個簡單的例子:

for i in range(0, 5, 2) :
    print(i)  # 表示遍歷輸出0 2 4 這個序列

range函數(shù)還可以作為“次數(shù)”的意義來循環(huán)兽埃,如:

for i in range(5)    # 可以做 5次循環(huán)
    print(" 第 ", i+1, " 次輸出 ")

此外Python還有while循環(huán),使用方法和C類似适袜,首先需要先判斷條件語句的邏輯結(jié)果柄错,如果為True就執(zhí)行,我們可以將上述循環(huán)次數(shù)用while循環(huán)代替:

i=1
while i<5 :
    print(" 第", i, "次輸出 ")
    i = i+1

Python中斷循環(huán)的方法和C類似苦酱,有兩種售貌。用break表示直接跳出當(dāng)前for循環(huán);用continue表示跳出當(dāng)前for循環(huán)的一輪循環(huán)疫萤,直接開始下一輪循環(huán)颂跨。

5 其他結(jié)構(gòu)數(shù)據(jù)類型

為了可以更方便的表示數(shù)據(jù),Python提供了很多數(shù)據(jù)結(jié)構(gòu)给僵,包括列表毫捣、元組详拙、集合、詞典下面一一講解蔓同。

列表是一個由許多數(shù)據(jù)組合而成的大雜燴饶辙,定義列表用逗號隔開,外面用中括號括起斑粱。逗號隔開的每一個叫做元素弃揽,只要在定義時利用逗號確定位置,如果不更改便不會自己改變则北,因此可以利用向量確定列表的位置 矿微。每一個列表內(nèi)還可以繼續(xù)嵌套列表,比如在一個列表中存在一個字符串尚揣,則這個字符串可以看做一個列表涌矢,可以用二維向量表示他的位置。下面舉例說明:

li = [1,2,2,3,True,"lalala",[4,5,6]]  # 定義列表快骗,其中有嵌套(包括字符串和嵌套列表)
print(li[1])        # 輸出列表的第二個元素2
print(li[5][0])     # 輸出列表第六個元素字符串的第一個元素'l'
print(li[6])        # 輸出列表第七個元素娜庇,也就是這個嵌套列表所有內(nèi)容

此外Python還可以列表還可以利用冒號輸出指定范圍的元素,更加創(chuàng)新的采用類似MATLAB矩陣的方法方篮,可以采用步長名秀,負(fù)數(shù)代表反向步長。而位置也可以用負(fù)數(shù)藕溅,代表倒數(shù)位置減一的位置匕得。下面舉例:

li = [0,1,2,3,4,5,6] # 定義列表
print(li[-1])       # 輸出倒數(shù)第一個元素6(如果中括號內(nèi)有冒號,則將位置減一) 
print(li[:3])       # 輸出下標(biāo)0到2的元素0 1 2
print(li[4:])       # 輸出下標(biāo)為4到最后(6)的元素4 5 6
print(li[4:-1])     # 輸出下標(biāo)4到倒數(shù)第二個(5)的元素4 5
print(li[0:5:2])    # 以步長2輸出下標(biāo)0到4的元素0 2 4
print(li[0:5:-2])   # 以步長2逆序輸出下標(biāo)0到4元素4 2 0
print(li[::-1])     # 逆序輸出所有元素6 5 4 3 2 1 0

元組同樣可以表示元素的大雜燴巾表,其還可以作為函數(shù)多值輸出的一種解決方案汁掠。唯一和列表不同的是元組一旦定義完畢就不能修改。元組也可以和列表一樣確定位置攒发。元組定義采用小括號调塌,元素之間用逗號隔開晋南。下面舉例:

tup = (1,2,3,4,"lalala",[7,8,9])    # 定義元組
print(tup[1])    # 輸出下標(biāo)1的元素2

集合同樣可以表示元素的大雜燴惠猿,和列表不同的是它不能出現(xiàn)相同元素,且元素沒有順序负间,因此集合不能表示元素位置偶妖。集合定義采用大括號,元素用逗號隔開政溃。下面舉例:

set = {1,2,3,"lalala"}    # 集合的定義

注意趾访,set是一個函數(shù),本章會講董虱。在這里告訴我們扼鞋,與函數(shù)重名依然可以拿來做變量使用申鱼,但注意變量名一定不能和關(guān)鍵字重名

詞典是一個保存鍵值集合的數(shù)據(jù)結(jié)構(gòu)云头,通過鍵捐友,我們可以找到其對應(yīng)的值。定義詞典溃槐,在鍵值之間用冒號隔開匣砖,每個鍵值對用逗號隔開,最后用大括號括起昏滴。注意詞典也是無序的猴鲫,所以無法確定位置。下面舉例對字典增刪改查:

dic = {"tim":23,"alice":18} # 定義年齡字典
print(dic["alice"])         # 查看alice的年齡
dic["alice"] = 20           # 修改alice的年齡
dic["malisa"] = 23      # 增加malisa的年齡
del dic["malisa"]    # 刪除malisa的年齡

這幾個數(shù)據(jù)結(jié)構(gòu)都可以利用函數(shù)相互轉(zhuǎn)化谣殊,但是轉(zhuǎn)化后會根據(jù)該數(shù)據(jù)結(jié)構(gòu)特性有不可逆的變化拂共,這有時會提供便利。比如我想去除字符串中重復(fù)的字符姻几,可以把字符串轉(zhuǎn)換成集合后再轉(zhuǎn)換成列表即可匣缘。轉(zhuǎn)換為列表用list,轉(zhuǎn)換為元組用tuple鲜棠,轉(zhuǎn)換為集合用set肌厨。另外每個數(shù)據(jù)結(jié)構(gòu)都有許多方便的函數(shù)可以使用,讀者可以自行查閱并學(xué)習(xí)豁陆。

實(shí)例代碼請看我的碼云:第二章樣例代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柑爸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子盒音,更是在濱河造成了極大的恐慌表鳍,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祥诽,死亡現(xiàn)場離奇詭異譬圣,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)雄坪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門厘熟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人维哈,你說我怎么就攤上這事绳姨。” “怎么了阔挠?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵飘庄,是天一觀的道長。 經(jīng)常有香客問我购撼,道長跪削,這世上最難降的妖魔是什么谴仙? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮碾盐,結(jié)果婚禮上狞甚,老公的妹妹穿的比我還像新娘。我一直安慰自己廓旬,他們只是感情好哼审,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著孕豹,像睡著了一般涩盾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上励背,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天春霍,我揣著相機(jī)與錄音,去河邊找鬼叶眉。 笑死址儒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的衅疙。 我是一名探鬼主播莲趣,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼饱溢!你這毒婦竟也來了喧伞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤绩郎,失蹤者是張志新(化名)和其女友劉穎潘鲫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肋杖,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡溉仑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年班利,在試婚紗的時候發(fā)現(xiàn)自己被綠了敞掘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔫巩。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡气忠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出巩掺,到底是詐尸還是另有隱情蚤蔓,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布洼畅,位于F島的核電站,受9級特大地震影響棚赔,放射性物質(zhì)發(fā)生泄漏帝簇。R本人自食惡果不足惜徘郭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丧肴。 院中可真熱鬧残揉,春花似錦、人聲如沸芋浮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纸巷。三九已至镇草,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瘤旨,已是汗流浹背梯啤。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留存哲,地道東北人因宇。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像祟偷,于是被迫代替她去往敵國和親察滑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

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

  • 本章將講述運(yùn)算修肠、變量杭棵、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 1氛赐、計算機(jī)會算數(shù) 1)數(shù)值運(yùn)算 加法+ 減法- 乘法* 除...
    Guodw閱讀 168評論 0 1
  • 一魂爪、python的運(yùn)算 1.數(shù)值運(yùn)算 即加、減艰管、乘滓侍、除、乘方牲芋、余數(shù)的運(yùn)算 原則一:①加用+ ② 減用- ...
    大餅與我閱讀 231評論 0 0
  • 2.1 計算機(jī)會算術(shù) 1.數(shù)值運(yùn)算 打開Spyder撩笆,在臨時窗口輸入命令,就能馬上運(yùn)算 2.邏輯運(yùn)算 Python...
    D系鼎溜閱讀 301評論 0 0
  • 2.1 計算機(jī)會算術(shù) 2.1.1 數(shù)值運(yùn)算 運(yùn)算符:在需要進(jìn)行運(yùn)算的兩個數(shù)值之間使用缸浦。加法:+減法 :-乘法:*除...
    SibyLtuI閱讀 91評論 0 0
  • 2.1 計算機(jī)會算術(shù) 1.數(shù)值運(yùn)算 加 + 減 - 乘 * 除 / 求余數(shù) % 字符串也能進(jìn)行運(yùn)算:(加法)"Va...
    XavieR_ZzQ閱讀 168評論 0 0