Use a function with multiple results as arguments
本问题已经有最佳答案,请猛点这里访问。
我有一个返回多个值的函数,我可以直接在另一个函数的参数列表中使用这个函数吗?当我(天真地)尝试时,我得到:
1 2 3 4 5 6 7 8 9 10 11 12 13 | def one() : return 3, 2 def two(a, b): return a + b two(one()) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-86-27980b86a2c0> in <module>() 3 def two(a, b): 4 return a + b ----> 5 two(one()) TypeError: two() missing 1 required positional argument: 'b' |
我当然可以做一些像
1 2 3 4 5 6 | def one() : return 3, 2 def two(a, b): return a + b a, b = one() two(a, b) |
当然。
1 | two(*one()) |
有用的阅读:了解python的星号(*)