国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

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

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

條件判斷講完了,面向對象是一個稍微大一點的話題,下期也就是這個系列的最后一期來講。

歡迎關注我的微信公眾號獲取最新文章:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 当阳市| 伊春市| 揭西县| 保山市| 名山县| 兰西县| 青冈县| 漳浦县| 射洪县| 武清区| 图木舒克市| 恩施市| 绿春县| 高邑县| 若羌县| 堆龙德庆县| 洪泽县| 北辰区| 老河口市| 澎湖县| 庄浪县| 霍山县| 兴城市| 揭东县| 南京市| 南雄市| 略阳县| 高邮市| 株洲市| 云和县| 漯河市| 平度市| 乐至县| 常山县| 融水| 柘城县| 射洪县| 色达县| 文化| 南汇区| 方山县|