在python中使用def有多个参数

Fab*_*ook 3 python function

所以在java中你可以做这样的事情,如果你不知道你将获得多少参数

private void testMethod(String... testStringArray){

}
Run Code Online (Sandbox Code Playgroud)

我怎么能在python中做这样的事情

因为我不能做这样的事情吧?

def testMethod(...listA):
Run Code Online (Sandbox Code Playgroud)

Lev*_*von 7

你在谈论变长参数列表吗?如果是这样,看看*args,**kwargs.

请参阅本基本指南以及如何在Python中使用*args和**kwargs

[1]中的两个简短例子:

使用*args:

def test_var_args(farg, *args):
    print "formal arg:", farg
    for arg in args:
        print "another arg:", arg

test_var_args(1, "two", 3)
Run Code Online (Sandbox Code Playgroud)

结果:

formal arg: 1
another arg: two
another arg: 3
Run Code Online (Sandbox Code Playgroud)

和使用**kwargs(关键字参数):

def test_var_kwargs(farg, **kwargs):
    print "formal arg:", farg
    for key in kwargs:
        print "another keyword arg: %s: %s" % (key, kwargs[key])

test_var_kwargs(farg=1, myarg2="two", myarg3=3)
Run Code Online (Sandbox Code Playgroud)

结果:

formal arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
Run Code Online (Sandbox Code Playgroud)

引用这个问题*args和**kwargs是什么意思?:

将*args和/或**kwargs作为函数定义的参数列表中的最后一项,允许该函数接受任意数量的匿名和/或关键字参数.


Bre*_*arn 6

听起来像你想要的:

def func(*args):
      # args is a list of all arguments
Run Code Online (Sandbox Code Playgroud)

与Python教程中介绍的许多其他类似信息一样,您应该阅读.