开发者社区> 问答> 正文

python多个return值

python多个return值

展开
收起
montos 2020-04-16 20:05:59 669 0
2 条回答
写回答
取消 提交回答
  • 代码改变世界,我们改变代码

    对于函数需要返回多个值:

    可以return 列表,元组,或者逗号分隔的多个值。

    2020-04-20 09:43:22
    赞同 展开评论 打赏
  • 那如果你想从一个函数里返回两个变量而不是一个呢? 新手们有若干种方法。最著名的方法,是使用global关键字。让我们看下这个没用的例子:

    def profile():
        global name
        global age
        name = "Danny"
        age = 30
    
    profile()
    print(name)
    # Output: Danny
    
    print(age)
    # Output: 30
    

    注意: 不要试着使用上述方法。重要的事情说三遍,不要试着使用上述方法! 有些人试着在函数结束时,返回一个包含多个值的tuple(元组),list(列表)或者dict(字典),来解决这个问题。这是一种可行的方式,而且使用起来像一个黑魔法:

    def profile():
        name = "Danny"
        age = 30
        return (name, age)
    
    profile_data = profile()
    print(profile_data[0])
    # Output: Danny
    
    print(profile_data[1])
    # Output: 30
    

    或者按照更常见的惯例:

    def profile():
        name = "Danny"
        age = 30
        return name, age
    

    这是一种比列表和字典更好的方式。不要使用global关键字,除非你知道你正在做什么。global也许在某些场景下是一个更好的选择(但其中大多数情况都不是)。

    2020-04-16 20:06:43
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载