麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

教女朋友學(xué)Python(9)——看,那邊有好多洞

2019-11-14 11:51:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
編程是一門(mén)要?jiǎng)邮值膶W(xué)問(wèn),我在必要的地方用動(dòng)態(tài)截圖是可以保證閱讀的完整性,但是那僅僅是我敲的代碼。上一期我們已經(jīng)把該敲的代碼差不多都敲完了。構(gòu)造了一個(gè)網(wǎng)址,用正則表達(dá)式獲取照片的鏈接列表,然后通過(guò)一個(gè)循環(huán)下載每個(gè)鏈接的圖片。一切在邏輯上如此美好。可惜,然并卵,邏輯上的美好不頂用,一運(yùn)行就會(huì)報(bào)錯(cuò)。403錯(cuò)誤表示雖然資源在網(wǎng)絡(luò)上是存在的,但是服務(wù)器拒絕了你的請(qǐng)求,高冷這種事,本來(lái)也是沒(méi)什么道理可講的。既然一個(gè)老公太高冷,換一個(gè)舔就好了。不過(guò)在代碼里面沒(méi)有這么簡(jiǎn)單,一旦遇到錯(cuò)誤,程序就會(huì)停止運(yùn)行,不會(huì)自動(dòng)的換一個(gè)。那怎么辦呢。在高級(jí)語(yǔ)言里面,處理錯(cuò)誤一般都會(huì)有try....except....finally....。用人話就是:我先試試看,遇到錯(cuò)誤怎么處理,最后干點(diǎn)什么。python當(dāng)然是高級(jí)語(yǔ)言,也有這樣的機(jī)制,加到我們的代碼中就是:
try:    request.urlretrieve(imgurl, filename)    PRint("完成下載", filename)except Exception:    pass意思就是,我們?cè)囍胷equest.irlretrieve下載圖片,如果遇到錯(cuò)誤,就pass,pass在python里面就是啥都不干,只占個(gè)位置,所以就會(huì)進(jìn)入下一輪的循環(huán),去下載另一張圖片。這里有兩點(diǎn)要注意,第一是Exception,看名字就明白是一個(gè)通用錯(cuò)誤,能捕獲所有錯(cuò)誤。而在我們的下載過(guò)程中,大概是不會(huì)遇到其他錯(cuò)誤的,只會(huì)遇到HTTP錯(cuò)誤,所以用error.HTTPError (error也是來(lái)自于模塊urllib)就可以了,用Exception是殺雞用牛刀。用不同的錯(cuò)誤類型,只能捕獲相應(yīng)的類型的錯(cuò)誤。Exception能捕獲所有錯(cuò)誤。有同學(xué)可能會(huì)問(wèn),搞那么多錯(cuò)誤類型這么麻煩,用Exception一網(wǎng)打盡豈不是很好。每個(gè)人都會(huì)這么想,但在實(shí)際使用的過(guò)程中,經(jīng)常會(huì)對(duì)不同類型的錯(cuò)誤做不同的處理,比如在我們的下載過(guò)程中,遇到下載不下來(lái)的網(wǎng)絡(luò)錯(cuò)誤,我們就跳過(guò),遇到文件名重名了的IO錯(cuò)誤,我們就改個(gè)名字。要加一種錯(cuò)誤類型的處理,就再加一個(gè)except帶上相應(yīng)的錯(cuò)誤類型就好了。第二點(diǎn)要注意的地方是,我們沒(méi)有用finally。這個(gè)是看情況來(lái)決定用不用的。finally的意思是,不管成不成,都要執(zhí)行的內(nèi)容。可能我不管成不成,最后都沒(méi)啥事情要做了,那finally就省去了,但是try....except...是萬(wàn)萬(wàn)不能省的。加了錯(cuò)誤處理了之后再來(lái)看運(yùn)行結(jié)果:這樣下完一頁(yè),再下一頁(yè),用個(gè)循環(huán)下一萬(wàn)頁(yè),老公就裝進(jìn)電腦里面啦。這個(gè)實(shí)例就此講完了,中間串講了python基礎(chǔ)知識(shí),包括變量、變量的運(yùn)算、函數(shù)、模塊、編碼和byte數(shù)據(jù)、正則表達(dá)式、列表和循環(huán)以及今天的錯(cuò)誤處理,實(shí)際上python基礎(chǔ)的內(nèi)容差不多就這么多了。不過(guò)因?yàn)槲覀兊睦雍?jiǎn)單,串講的時(shí)候還漏掉了兩個(gè)不得不講的知識(shí)點(diǎn),一個(gè)是條件判斷,一個(gè)是面向?qū)ο蟆l件判斷是一個(gè)比較簡(jiǎn)單的內(nèi)容,形式是:
if a>b:    print("a>b")elif a==b:    print("a=b")else:    print("a<b")elif 就是else if的意思,形式就是這么簡(jiǎn)單,非常像人話了。所謂條件判斷,就是如果條件1成立,怎么辦,不然的話如果條件2成立,又怎么辦,再不然的話再怎么辦。這里的條件,必須是布爾類型,還記得布爾類型么,就是只有兩個(gè)值的那個(gè)數(shù)據(jù)類型,一個(gè)是True,一個(gè)是False。怎么理解呢,請(qǐng)看:這么看來(lái),是不是if和elif后面全部都是跟的布爾類型的數(shù)據(jù)。請(qǐng)注意,判斷a和b相等,是用==,要是不小心用了=,就會(huì)是把b的值賦給a了。另外elif不是必須的部分,也就是可以如果條件1成立,怎么辦,不然又怎么辦,就沒(méi)有條件2。當(dāng)然也可以有一萬(wàn)個(gè)elif。

條件判斷講完了,面向?qū)ο笫且粋€(gè)稍微大一點(diǎn)的話題,下期也就是這個(gè)系列的最后一期來(lái)講。

歡迎關(guān)注我的微信公眾號(hào)獲取最新文章:


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲特黄a级毛片在线播放 久久久入口 | 午夜视频在线观看免费视频 | 成人短视频在线播放 | 热99视频| 午夜精品成人 | 视频一区二区视频 | 深夜毛片免费看 | 欧美日韩爱爱视频 | 男女污污视频网站 | 免费观看一级黄色片 | 手机在线看片国产 | 久久国产在线观看 | 九色在线78m| 电影av在线 | 国产色视频免费 | 精品一区二区在线观看 | 成人免费在线网 | 9999免费视频| 成人偷拍片视频在线观看 | 久久成人免费网站 | 永久免费黄色片 | 欧美a级一区二区 | 毛片一区二区三区四区 | 黄色一级片免费观看 | 午夜精品久久久久久久爽 | 在线成人免费视频 | 日日狠狠久久偷偷四色综合免费 | 综合国产一区 | 天天躁狠狠躁夜躁2020挡不住 | 免费a观看 | 国产美女的小嫩bbb图片 | 国产69精品久久久久久野外 | 成年免费视频黄网站在线观看 | 久久久精品视频免费看 | 久久久久久久久久综合 | 中文字幕线观看 | 亚洲午夜不卡 | av日韩一区二区三区 | 久久99深爱久久99精品 | 在线观看国产 | 国产精品爆操 |