溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么使用python中的返回函數(shù)

發(fā)布時(shí)間:2020-11-09 10:51:16 來(lái)源:億速云 閱讀:195 作者:小新 欄目:編程語(yǔ)言

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

python中的函數(shù)非常多,大多數(shù)運(yùn)行后,結(jié)束時(shí)都需要返回??梢哉f(shuō),返回函數(shù)是學(xué)好python必備的函數(shù)。今天就來(lái)講講python中的返回函數(shù)吧。

Python 函數(shù)通過(guò)調(diào)用 return 語(yǔ)句來(lái)返回結(jié)果。使用 returnvalue 可以返回單個(gè)值,用 returnvalue1,value2 則能讓函數(shù)同時(shí)返回多個(gè)值。

如果一個(gè)函數(shù)體內(nèi)沒(méi)有任何 return 語(yǔ)句,那么這個(gè)函數(shù)的返回值默認(rèn)為 None。除了通過(guò) return 語(yǔ)句返回內(nèi)容,在函數(shù)內(nèi)還可以使用拋出異常(raise Exception)的方式來(lái)“返回結(jié)果”。 

接下來(lái),我將列舉一些與函數(shù)返回相關(guān)的常用編程建議。

編程建議

1.單個(gè)函數(shù)不要返回多種類型

Python 語(yǔ)言非常靈活,我們能用它輕松完成一些在其他語(yǔ)言里很難做到的事情。比如:讓一個(gè)函數(shù)同時(shí)返回不同類型的結(jié)果。從而實(shí)現(xiàn)一種看起來(lái)非常實(shí)用的“多功能函數(shù)”。

就像下面這樣:

def get_users(user_id=None):
 if user_id is None:
 return User.get(user_id)
 else:
 return User.filter(is_active=True)
 
# 返回單個(gè)用戶
get_users(user_id=1)
# 返回多個(gè)用戶
get_users()

2.使用 partial 構(gòu)造新函數(shù)

假設(shè)這么一個(gè)場(chǎng)景,在你的代碼里有一個(gè)參數(shù)很多的函數(shù) A,適用性很強(qiáng)。而另一個(gè)函數(shù) B 則是完全通過(guò)調(diào)用 A 來(lái)完成工作,是一種類似快捷方式的存在。

比方在這個(gè)例子里, double 函數(shù)就是完全通過(guò) multiply 來(lái)完成計(jì)算的:

def multiply(x, y):
 return x * y
 
def double(value):
 # 返回另一個(gè)函數(shù)調(diào)用結(jié)果
 return multiply(2, value)

3.拋出異常,而不是返回結(jié)果與錯(cuò)誤

我在前面提過(guò),Python 里的函數(shù)可以返回多個(gè)值。基于這個(gè)能力,我們可以編寫一類特殊的函數(shù):同時(shí)返回結(jié)果與錯(cuò)誤信息的函數(shù)。

def create_item(name):
 if len(name) > MAX_LENGTH_OF_NAME:
 return None, 'name of item is too long'
 if len(CURRENT_ITEMS) > MAX_ITEMS_QUOTA:
 return None, 'items is full'
 return Item(name=name), ''
 
def create_from_input():
    name = input()
    item, err_msg = create_item(name)
 if err_msg:
 print(f'create item failed: {err_msg}')
 else:
 print(f'item<{name}> created')

4.謹(jǐn)慎使用 None 返回值

None 值通常被用來(lái)表示“某個(gè)應(yīng)該存在但是缺失的東西”,它在 Python 里是獨(dú)一無(wú)二的存在。很多編程語(yǔ)言里都有與 None 類似的設(shè)計(jì),比如 JavaScript 里的 null、Go 里的 nil 等。因?yàn)?None 所擁有的獨(dú)特 虛無(wú) 氣質(zhì),它經(jīng)常被作為函數(shù)返回值使用。

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)怎么使用python中的返回函數(shù)大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI