操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    零基礎入門:從一個小程序開始續(xù)

    上次我們用完成了一個小任務:把一張200 * 200的圖片變成了100 * 100。

    程序如下:

    from PIL Image

    img = Image.open('/Users///photo/photo.jpeg')

    易語言圖片處理模塊_e語言模塊下載_國際站多語言模塊圖標

    w, h = img.size

    img.((w//2,h/2))

    img.save('/Users///photo/.jpeg','jpeg')

    不知道你注意沒有,這個小程序存在著很多問題易語言圖片處理模塊,首先,如果我們選擇的圖片不存在會怎么樣呢?

    e語言模塊下載_易語言圖片處理模塊_國際站多語言模塊圖標

    按照正常的邏輯,當我們沒有找到這張圖片的時候,我們應該停下這個程序的后續(xù)操作。那么如何實現(xiàn)呢?這里就需要使用判斷語法if.

    if 顧名思義就是“是否”,那么就是對后面的內容判斷,是真是假。在程序中,我 們對判斷的對象,是要求具有二象性的,也就是說它總是真或者就是假。通常我們用“1”來代表真,“0”代表假。這種變量還有另外一種稱呼就是布爾變量。bool值只有兩個“1”“0”。那么當我們去尋找這張圖片之后,就要對其是否存在這個狀態(tài)進行判斷.可惜的是,當我們使用Image.open這個函數(shù)時,當我們直接對img 這個變量進行判斷時,發(fā)現(xiàn)

    也就是說Image這個工具為我們完成了太多的操作,以至于它只能去打開一個必須存在的圖片,這在現(xiàn)實中是存在著邏輯的漏洞的,因為我們無法保證每次都有圖片存在。

    國際站多語言模塊圖標_e語言模塊下載_易語言圖片處理模塊

    所以我們要把這一步進行拆分,第一步我們需要去查找圖片是否存在,當存在的時候才會去利用Image.open進行操作。

    值得欣慰的是,Image還提供了從文件IO獲取圖片。

    這樣我們修改程序:

    e語言模塊下載_易語言圖片處理模塊_國際站多語言模塊圖標

    當圖片存在的時候,我們才會進行Image等操作,當打開文件失敗易語言圖片處理模塊,就會拋出異常,而走到異常分支,最后當我們完成操作的時候,需要走分支將數(shù)據(jù)流斷開,以免造成資源浪費和引入不確定的錯誤。

    看到這里,不知道你注意到沒有,這里有幾個特殊的地方:

    - 我們注意到這些代碼之間存在著不同的縮進。try,else等頂格寫,而分支下面的操作語句則縮進了四個空格。在中縮進代表著代碼間的附屬關系,通常下一級要比上一級鎖進四個空格。4是怎么來的呢?這是一個tab的長度,但是并不要因為是一個tab長度而隨便使用tab來縮緊,因為在很多編輯器里面默認的tab很可能不是四個空格,需要你人工的設定。當然直接敲四個空格可能更準確但也更費時,所以寫代碼之前要確認好tab的長度。

    - f= None 這是定義了一個變量,用于存儲接收到的文件數(shù)據(jù)。None在代表著空值,但和我們常見的“NULL”和“0”還不一樣,在中,認為所有的事物都是一個對象,也就是說也是面向對象編程的。面向對象這個詞匯,看起來很難理解,但是聯(lián)系實際,你可能會更容易理解,在現(xiàn)實中,我們接觸到的事物都是對象,所謂對象,就是一個由屬性和行為組成的完整個體,它應該具有完整的數(shù)據(jù)和對數(shù)據(jù)操作的函數(shù)。

    易語言圖片處理模塊_國際站多語言模塊圖標_e語言模塊下載

    - try-- 控制塊,這在上面講述了各個分支的含義,try-else-控制塊,大多用于存在拋出異常操作的場景,這樣有助于避免因異常而導致程序出錯。記住:是必不可少的,這是開啟本分支操作的和區(qū)分關鍵字和操作字的分隔符。

    在實際中我們可能需要大量進行讀寫,但是如果每次都是用try-else-控制塊,就顯得很不方便了。所以提供了with - as語法。

    使用with-as改寫上面的函數(shù):

    是不是變的更加的簡潔了呢?

    這樣我們就可以把這個程序變得更加的健壯。

網(wǎng)站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有