在python中具有多个def参数

2024-10-01 22:29:37 发布

您现在位置:Python中文网/ 问答频道 /正文

所以在java中,如果不知道要获取多少个参数,就可以这样做

private void testMethod(String... testStringArray){

}

我如何在python中执行这样的操作

因为我不能做这样的事,对吗?在

^{pr2}$

Tags: 参数stringjavaprivatevoidpr2testmethodteststringarray
2条回答

你说的是可变长度的参数表吗?如果是这样,请看一看*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)

结果:

^{pr2}$

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

引用这个SO问题What do *args and **kwargs mean?

Putting *args and/or **kwargs as the last items in your function definition’s argument list allows that function to accept an arbitrary number of anonymous and/or keyword arguments.

听起来像你想要的:

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

这和许多其他类似的信息都在the Python tutorial中介绍过,您应该阅读一下。在

相关问题 更多 >

    热门问题