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学习推荐:。