python - 函数默认仅返回第一个输出值

标签 python python-3.x function

假设我有一个函数:

def my_func():
    return 1,2

我想要什么:如果我像这样调用函数:

a = my_func()

我希望它仅返回第一个输出参数,即 1 ; 如果我打电话a,b = my_func()它返回两者 - a=1b=2 .

<小时/>

这个任务是关于向后兼容性的:当我只使用 a = my_func() 时,我已经有很多脚本了。 ,现在我想添加额外的功能。但现在a实际上是一个元组,由两个值组成: (1,2)

可能吗?

最佳答案

可以使用默认值的参数,只需在新版本执行中添加即可。

Pyfiddle

def my_func(new_version=False):    
    return (1, 2) if new_version else 1

a = my_func()                 # backwards compatible
print("should be 1", a)
a = my_func(new_version=True) # new version available
print("should be (1, 2)", a)

关于python - 函数默认仅返回第一个输出值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49859183/

相关文章:

python - 检查广播变量 PySpark 的大小

python - 如何在 Google App Engine 上读取 Excel 文件

python - 导入错误 PyQt5 python

python - 尝试注销 django 时出现运行时错误

python - 为什么我的直方图条都显示频率为 1

宏中的逗号将参数传递给另一个宏函数 (#define a,b)

python-3.x - 这个算法是 O(1) 还是 O(n) 空间复杂度

python - 以中间元素为轴心进行快速排序

c++枚举作为函数中的参数并在另一个文件中调用该函数

c++ - const 成员函数中模板成员的常量