欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

python中None返回值的使用方法-創(chuàng)新互聯(lián)

python中None返回值的使用方法?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷,提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷、微信小程序定制開發(fā)、公眾號(hào)商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。

None是python中的特殊存在。作為函數(shù),在用到返回值的經(jīng)常使用。今天小編就來(lái)講講

一、作為操作類函數(shù)的默認(rèn)返回值

當(dāng)某個(gè)操作類函數(shù)不需要任何返回值時(shí),通常就會(huì)返回 None。同時(shí),None 也是不帶任何 return 語(yǔ)句函數(shù)的默認(rèn)返回值。

對(duì)于這種函數(shù),使用 None 是沒有任何問(wèn)題的,標(biāo)準(zhǔn)庫(kù)里的 list.append()、 os.chdir() 均屬此類。

二、作為某些“意料之中”的可能沒有的值

有一些函數(shù),它們的目的通常是去嘗試性的做某件事情。視情況不同,最終可能有結(jié)果,也可能沒有結(jié)果。而對(duì)調(diào)用方來(lái)說(shuō),“沒有結(jié)果”完全是意料之中的事情。對(duì)這類函數(shù)來(lái)說(shuō),使用 None 作為“沒結(jié)果”時(shí)的返回值也是合理的。

在 Python 標(biāo)準(zhǔn)庫(kù)里,正則表達(dá)式模塊 re 下的 re.search、 re.match 函數(shù)均屬于此類,這兩個(gè)函數(shù)在可以找到匹配結(jié)果時(shí)返回 re.Match 對(duì)象,找不到時(shí)則返回 None。

三、作為調(diào)用失敗時(shí)代表“錯(cuò)誤結(jié)果”的值

有時(shí), None 也會(huì)經(jīng)常被我們用來(lái)作為函數(shù)調(diào)用失敗時(shí)的默認(rèn)返回值,比如下面這個(gè)函數(shù):

def create_user_from_name(username):
 """通過(guò)用戶名創(chuàng)建一個(gè) User 實(shí)例"""
 if validate_username(username):
 return User.from_username(username)
 else:
 return None
 
user = create_user_from_name(username)
if user:
user.do_something()

當(dāng) username 不合法時(shí),函數(shù) create_user_from_name 將會(huì)返回 None。但在這個(gè)場(chǎng)景下,這樣做其實(shí)并不好。

不過(guò)你也許會(huì)覺得這個(gè)函數(shù)完全合情合理,甚至你會(huì)覺得它和我們提到的上一個(gè)“沒有結(jié)果”時(shí)的用法非常相似。那么如何區(qū)分這兩種不同情形呢?關(guān)鍵在于:函數(shù)簽名(名稱與參數(shù))與 None 返回值之間是否存在一種“意料之中”的暗示。

讓我解釋一下,每當(dāng)你讓函數(shù)返回 None 值時(shí),請(qǐng)仔細(xì)閱讀函數(shù)名,然后問(wèn)自己一個(gè)問(wèn)題:假如我是該函數(shù)的使用者,從這個(gè)名字來(lái)看,“拿不到任何結(jié)果”是否是該函數(shù)名稱含義里的一部分?

分別用這兩個(gè)函數(shù)來(lái)舉例:

  • re.search():從函數(shù)名來(lái)看, search,代表著從目標(biāo)字符串里去搜索匹配結(jié)果,而搜索行為,一向是可能有也可能沒有結(jié)果的,所以該函數(shù)適合返回 None

  • create_user_from_name():從函數(shù)名來(lái)看,代表基于一個(gè)名字來(lái)構(gòu)建用戶,并不能讀出一種 可能返回、可能不返回的含義。所以不適合返回 None

對(duì)于那些不能從函數(shù)名里讀出 None 值暗示的函數(shù)來(lái)說(shuō),有兩種修改方式。第一種,如果你堅(jiān)持使用 None 返回值,那么請(qǐng)修改函數(shù)的名稱。比如可以將函數(shù) create_user_from_name() 改名為 create_user_or_none()。

第二種方式則更常見的多:用拋出異常(raise Exception)來(lái)代替 None 返回值。因?yàn)椋绻祷夭涣苏=Y(jié)果并非函數(shù)意義里的一部分,這就代表著函數(shù)出現(xiàn)了“意料以外的狀況”,而這正是 Exceptions 異常 所掌管的領(lǐng)域。

使用異常改寫后的例子:

class UnableToCreateUser(Exception):
 """當(dāng)無(wú)法創(chuàng)建用戶時(shí)拋出"""
 
def create_user_from_name(username):
 ""通過(guò)用戶名創(chuàng)建一個(gè) User 實(shí)例"
 
    :raises: 當(dāng)無(wú)法創(chuàng)建用戶時(shí)拋出 UnableToCreateUser
    """
 if validate_username(username):
 return User.from_username(username)
 else:
 raise UnableToCreateUser(f'unable to create user from {username}')
 
try:
    user = create_user_from_name(username)
except UnableToCreateUser:
 # Error handling
else:
    user.do_something()

與 None 返回值相比,拋出異常除了擁有我們?cè)谏蟼€(gè)場(chǎng)景提到的那些特點(diǎn)外,還有一個(gè)額外的優(yōu)勢(shì):可以在異常信息里提供出現(xiàn)意料之外結(jié)果的原因,這是只返回一個(gè) None 值做不到的。

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)python中None返回值的使用方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

標(biāo)題名稱:python中None返回值的使用方法-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://aaarwkj.com/article16/isegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、小程序開發(fā)、網(wǎng)站制作電子商務(wù)、網(wǎng)站設(shè)計(jì)公司營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
亚洲国产精品成人久久蜜臀| 国产成十人十综合十亚洲| 在线看黄视频网站永久免费| 欧美日韩欧美国产精品| 成年女人大片免费观看版| 欧美亚洲国产另类第一页| 杨幂一区二区在线观看| 日本不卡一区二区视频| 国产精品天干天综合网| 国产一区免费二区三区四区| 亚洲成人乱码一区二区| 99热成人精品热久久| 久久亚洲综合色一区二区三区| 日本特黄特黄录像在线| 日韩美女后入式在线视频| 国产又猛又黄又爽无遮挡| 亚洲成人精品免费观看| 夫妻晚上同房太猛视频| 日韩高清亚洲一区二区| 色偷拍亚洲偷自拍二区| 天天操夜夜操夜夜操精品| 人妻熟女一区二区aⅴ在线视频 | 国产精品久久99一区| 亚洲性视频日韩性视频| 青草成人在线视频观看| 一本久道久久综合狠狠老| 日韩欧美亚洲国产一区久久精品| 涩涩涩丁香色婷五月网| 韩国三级在线视频网站| 在线国产视频一区二区三区| 丝袜美腿一区二区三区动态图| 哈昂~不要啊在线观看| 白白日韩欧美在线视频| 女人被爽到高潮呻吟免费看| 久久精品国产亚洲av麻豆尤物| 午夜精品视频免费91| 一区二区三区毛片免费| 亚洲午夜激情免费试看| 日本精品一区二区不卡| 亚洲精品二区在线播放| 亚洲大片色一区在线观看|