在python中使用def有多个参数

时间:2012-07-18 21:01:05

标签: python function

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

private void testMethod(String... testStringArray){

}

我怎么能在python

中做这样的事情

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

def testMethod(...listA):

2 个答案:

答案 0 :(得分:7)

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

请参阅此Basic GuideHow to use *args and **kwargs in Python

[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)

结果:

formal arg: 1
another arg: two
another arg: 3

并使用**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)

结果:

formal arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3

引用此问题What do *args and **kwargs mean?

  

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

答案 1 :(得分:6)

听起来像你想要的那样:

def func(*args):
      # args is a list of all arguments

这与the Python tutorial中涵盖的许多其他此类信息一样,您应该阅读。

相关问题