python 中函数参数关键字是用来防止函数参数关键字顺序出现错误的,在函数调用时,函数关键字的位置可以随意调换。
当然也可以和位置关键字参数进行调换,这时候函数关键字只能放到最后。
在实参面前加上星号可以将列表或者元组的元素作为单个参数传递给函数作为参数
但是如果是字典类型的话就要在实参前面加两个星号,定义的时候也要加上。
字典类型的key如果和函数参数的名字相同,可以分开传进函数中
def testDic(**op):
'字典的参数'
print(op)
dic={"a":1,"b":2}
testDic(**dic)
#{'a': 1, 'b': 2}
def testDic(a,b):
'字典的key和函数参数名字相同'
print(a+b)
dic={"a":1,"b":2}
testDic(**dic)
def test(s1,s2):
'helloworld'
print(s1,s2)
list1=["hello","world"]
test(*list1)
如果传递多了会报错
def test(s1,s2):
'helloworld'
print(s1,s2)
list1=["hello","world","love"]
test(*list1)
#TypeError: test() takes 2 positional arguments but 3 were given