【问题标题】:How to create a function of n variables (python) [duplicate]如何创建n个变量的函数(python)[重复]
【发布时间】:2021-03-04 17:12:28
【问题描述】:

我想在python中创建一个n个变量的函数,比如

n=3
def func(n1,n2,n3):
    return sum(n1+n2+n3)

func(1,2,3) = 6
func(3,3,3)=9

或者如果 n=4,

n=4
def func(n1,n2,n3,n4):
    return sum(n1+n2+n3+n4)

func(1,2,3,4) = 10

在 Julia 中有一个完美的例子: How to create a function of n variables (Julia)

使用这个解决方案

function f(x...)
     sum(x)
end

julia> f(1,2,3)
6

但我不知道如何将省略号类型输入转换为 python

【问题讨论】:

标签: python julia


【解决方案1】:

Python 也支持可变参数

def f(*x):
    return sum(x)

函数内的x是一个元组,就像在 Julia 中一样。

朱莉娅:

julia> function f(x...)
        x
       end

f (generic function with 1 method)

julia> f(2,4,5)
(2, 4, 5)

Python:

>>> def f(*x):
...  return x
... 
>>> f(2,4,5)
(2, 4, 5)

【讨论】:

    【解决方案2】:

    使用解包操作符(*):

    def func(*x):
        return sum(x)
    

    请注意,当使用此表示法时,xfunc 中是 tuplesum 很乐意接受。

    【讨论】:

    • 你实际上并没有使用解包操作符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    相关资源
    最近更新 更多