Python:接受多个参数

时间:2017-08-25 07:13:04

标签: python printing

在Python中,我试图创建一个可以接受一个或多个参数的函数。为简单起见,我想说我想创建一个打印传递的所有参数的函数

def print_all(**arguments**):
    print(arg1, arg2, ..., argN)

所以print_all("A", "B")会输出AB

传递的参数数量可以是1个或更多字符串。

这样做的最佳方式是什么?

4 个答案:

答案 0 :(得分:2)

* args和** kwargs 允许将任何参数,位置(*)和关键字(**)传递给函数

>>> def test(*args):
...     for var in args:
...         print var
... 
>>> 

没有变量

>>> test("a",1,"b",2)         
a
1
b
2

>>> test(1,2,3)
1
2
3

列表&字典

>>> a = [1,2,3,4,5,6]
>>> test(a)
[1, 2, 3, 4, 5, 6]
>>> b = {'a':1,'b':2,'c':3}
>>> test(b)
{'a': 1, 'c': 3, 'b': 2}

<强> For detail

答案 1 :(得分:0)

您正在寻找*args的用法,它允许您将多个参数传递给函数,而无需关心您想要传递的参数数量。

示例示例:

>>> def arg_funct(*args):
...     print args
...
>>> arg_funct('A', 'B', 'C')
('A', 'B', 'C')
>>> arg_funct('A')
('A',)

此函数返回传递给函数的参数元组。

有关详情,请查看:What does ** (double star) and * (star) do for parameters?

答案 2 :(得分:0)

简单地说:

def print_all(*args):
    for arg in args:
        print(arg)

答案 3 :(得分:0)

使用splat运算符(*)传递一个或多个位置参数。然后在函数中将它们作为字符串连接起来以打印结果。

def print_all(*args):
    print("".join(str(a) for a in args))

>>> print_all(1, 2, 3, 'a')
123a