*每天都有新体验

可变参数和关键字参数

可变参数:

对于需要多个参数的函数,可以使用可变参数

1
2
3
4
5
6
7
8
9
def calc(*number):
    sum = 0
    for n in number:
        sum=sum+n
    return sum
calc(2,3,4)
or
list_test=[1,2,3]
clac(*list_test)

可变参数还是很好理解的,这些参数在函数调用时自动组装成了一个元组。

关键字参数

关键字参数允许你传入任意个含有参数名的参数。这些参数自动组装为一个字典。

1
2
3
4
5
def person(name,age,**kw):
    print(name,age,kw)
person('bob',14,city='beijing')
#out
name: Bob age: 14 other: {'city': 'Beijing'}

命名关键字参数

如果要限制关键字参数的名字,可以用命名关键字参数。如

1
2
def person(name,age,*,city,job):
    print(name,age,city,job)

命名关键字是要用一个特殊分隔符的。

1
2
>>> person('Jack', 24, city='Beijing', job='Engineer')
Jack 24 Beijing Engineer

命名关键字必须传入。

参数顺序

必选参数,默认参数,可变参数,关键字参数,明明关键字参数可以组合使用,但是要遵循一定的规律

顺序就是如上的顺序。