• 技术文章 >Python技术 >Python基础教程

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

    2020-11-06 16:52:58原创2473
    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学习推荐:PyThon学习网教学中心

    专题推荐:python返回函数
    上一篇:python私有属性访问不到吗? 下一篇:怎么用python实现海龟绘图?

    相关文章推荐

    • python函数如何传递参数?• 关于python函数式编程详细介绍• Python函数嵌套变量的使用方法• 如何快速掌握Python函数的作用域?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网