首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在同一个函数中可以有不同的返回吗?

在同一个函数中可以有不同的返回吗?
EN

Stack Overflow用户
提问于 2021-10-04 07:12:52
回答 2查看 114关注 0票数 0

我有这个功能:

代码语言:javascript
复制
def choice(default=True):
    if default:    
        return 1
    else:
        return 0, "Your choice is 0"

在第一种情况下,我得到一个变量,在第二种情况下,我得到两个变量。

在Python中这样做有问题吗?我测试过了,它可以工作,但例如在c++中,这种事情就不能工作。你知道有没有关于这个的规则,比如PEP8之类的?

非常感谢!

EN

Stack Overflow用户

发布于 2021-10-04 07:44:02

根据所传递的选项,使用具有不同返回值签名的函数是完全可以的。参见np.unique for example。因为Python没有函数重载,所以这是实现这一点的规范方法。重要的一点是对它进行适当的记录。在np.unique的例子中,你必须使用返回值的所有组合来定义函数的八个不同版本。不切实际,难以维护,而且大多是多余的。

在Python语言中处理这种“函数重载”的另一种方法是始终使用相同的返回值签名,但对未使用的值返回None。我更喜欢前一种方法。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69432151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档