您的当前位置:首页正文

如何使用python中的返回函数?

2024-08-01 来源:东饰资讯网

python中的函数非常多,大多数运行后,结束时都需要返回。可以说,返回函数是学好python必备的函数。今天就来讲讲python中的返回函数吧。

Python 函数通过调用 return 语句来返回结果。使用 returnvalue 可以返回单个值,用 returnvalue1,value2 则能让函数同时返回多个值。

如果一个函数体内没有任何 return 语句,那么这个函数的返回值默认为 None。除了通过 return 语句返回内容,在函数内还可以使用抛出异常(raise Exception)的方式来“返回结果”。 

接下来,我将列举一些与函数返回相关的常用编程建议。


编程建议

1.单个函数不要返回多种类型

Python 语言非常灵活,我们能用它轻松完成一些在其他语言里很难做到的事情。比如:让一个函数同时返回不同类型的结果。从而实现一种看起来非常实用的“多功能函数”。

就像下面这样:


def get_users(user_id=None):
 if user_id is None:
 return User.get(user_id)
 else:
 return User.filter(is_active=True)
 
# 返回单个用户
get_users(user_id=1)
# 返回多个用户
get_users()


2.使用 partial 构造新函数

假设这么一个场景,在你的代码里有一个参数很多的函数 A,适用性很强。而另一个函数 B 则是完全通过调用 A 来完成工作,是一种类似快捷方式的存在。

比方在这个例子里, double 函数就是完全通过 multiply 来完成计算的:

def multiply(x, y):
 return x * y
 
def double(value):
 # 返回另一个函数调用结果
 return multiply(2, value)


3.抛出异常,而不是返回结果与错误

我在前面提过,Python 里的函数可以返回多个值。基于这个能力,我们可以编写一类特殊的函数:同时返回结果与错误信息的函数。

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.谨慎使用 None 返回值

None 值通常被用来表示“某个应该存在但是缺失的东西”,它在 Python 里是独一无二的存在。很多编程语言里都有与 None 类似的设计,比如 JavaScript 里的 null、Go 里的 nil 等。因为 None 所拥有的独特 虚无 气质,它经常被作为函数返回值使用。

以上就是python中返回函数的使用。更多Python学习推荐:

显示全文