對(duì)于Python學(xué)習(xí)研究總結(jié)之談
除去讓人覺(jué)得Python學(xué)習(xí)研究外,當(dāng)然由切實(shí)的好處。比較淺顯的是你能夠表達(dá)一定的層次關(guān)系,類與類之間能夠有包含和繼承的關(guān)系。而且對(duì)象能夠把數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)放在一起,能夠比較清晰。
先是回憶一下字符串字符串既能夠用""也能夠用''。然后是很有特色的%操作,起到格式化字符串的作用,前面僅僅在字符串中有一個(gè)%s,現(xiàn)在有%d和%s兩個(gè),分別代表插入十進(jìn)制數(shù)值和字符串于%x標(biāo)記的位置處。
然后是列表列表是順序的序列,用append在后面附加,也能構(gòu)用索引值索引。所以我們完全可以用一個(gè)變量保存len(contact_list)得到的長(zhǎng)度,然后一個(gè)個(gè)的遍歷。
不過(guò)這里展示了另外一種非常方便的方法。而且值得注意的是append()中的參數(shù),Python學(xué)習(xí)研究我使用了contact.copy(),你可以嘗試著把copy()給去掉,觀察結(jié)果你就知道了所謂的append是怎么干的了。
特別是你對(duì)指針之類的東西很有感覺(jué)的話(但是在Python中是沒(méi)有指針這個(gè)概念的)再來(lái)看看字典字典是鍵(key)和值(value)的對(duì)應(yīng)組合成的無(wú)序的序列。所以你存的時(shí)候要指明鍵(name或者phone),而且取的時(shí)候也是一樣的。
接下來(lái)是判斷if是很好用的,==表示判斷兩個(gè)是否相等,=表示把右邊的賦給左邊的。而且可以直接判斷字符串是否相等,這個(gè)太方便了,如果你曾經(jīng)用過(guò)strcpy()的話,就知道了。elif是表示else if的意思,如果if不滿足就判斷elif的條件是否滿足,最后是到else中去。
循環(huán)是個(gè)主體while和for都是循環(huán)。不過(guò)這里while就沒(méi)什么說(shuō)的了,又是很經(jīng)典的while 1,死循環(huán),然后必須在里面用break來(lái)跳出。for和C中的for是不一樣的,for in才是一個(gè)完整的語(yǔ)句,指的是從一個(gè)能夠逐一取值的序列中(比如list),一個(gè)一個(gè)的取出值賦給for后面指定的變量中,直到取空,循環(huán)結(jié)束。
其實(shí)回想一般用C中的for的經(jīng)歷,也大體如此。而且你還可以用for i in range(1,100)來(lái)指定一個(gè)范圍從多少到多少??梢哉f(shuō)for in充分體現(xiàn)了python的體貼周到,用起來(lái)很直觀,不會(huì)繞彎。
接下來(lái)就是運(yùn)行了,Python學(xué)習(xí)研究大家慢慢調(diào)試吧。下次可能是講異常處理,因?yàn)槲矣X(jué)得在深入到使用各種高級(jí)的要素之前,先要學(xué)會(huì)怎么去處理異常。最常見(jiàn)的異常應(yīng)該是input(),然后你給出的輸入是一個(gè)無(wú)法轉(zhuǎn)換為數(shù)字的字符串了,那么我們就要來(lái)處理它。
Lesson 8 Python中的錯(cuò)誤檢測(cè)寫(xiě)程序什么最重要?完成功能最重要。但是程序中難免要有用戶的輸入,對(duì)于這些寫(xiě)的時(shí)候未可預(yù)知的因素中間可能出現(xiàn)的錯(cuò)誤,一般稱作異常。
對(duì)于異常情況的處理,不同語(yǔ)言有不同的做法,比如檢查函數(shù)的返回值之類的,但是那種辦法會(huì)把代碼弄成一團(tuán)漿糊。Python在這個(gè)方面是比較先進(jìn)的,我們從一個(gè)例子來(lái)看看:
- Traceback (most recent call last):
- File "<pyshell#4>", line 1, in -toplevel-
- input()
- File "<string>", line 0, in -toplevel-
- NameError: name 'sdfsdf' is not defined
【編輯推薦】