python函数参数中单独的*的含义
作者:互联网
函数中形参列表出现一个单独的*
,如下所示:
test_func2(aa, *, bb, cc='hello')
: 这表示*
号后面的形参只能以关键字形式进行传参,不接受位置传参
就只能接受 bb='xxx', cc='xxx', 不能接受其他的命名关键字参数了
def test_func1(aa, bb, cc='hello'):
print('11111 ', aa)
print('22222 ', bb)
print('33333 ', cc)
def test_func2(aa, *, bb, cc='hello'):
print('11111 ', aa)
print('22222 ', bb)
print('33333 ', cc)
test_func1('haha', 'hehe', 'heihei')
11111 haha
22222 hehe
33333 heihei
test_func2('haha', 'hehe', 'heihei')
Traceback (most recent call last):
File "<ipython-input-5-ec0696934d76>", line 1, in <module>
test_func2('haha', 'hehe', 'heihei')
TypeError: test_func2() takes 1 positional argument but 3 were given
test_func2('haha', bb='hehe')
11111 haha
22222 hehe
33333 hello
test_func2('haha', bb='hehe', cc='heihei')
11111 haha
22222 hehe
33333 heihei
标签:func2,bb,python,含义,haha,函数参数,test,hehe,cc 来源: https://www.cnblogs.com/rainboy1227/p/16101856.html