python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
前言:
在Python中,这两个是python中的可变参数,*arg表示任意多个无名参数,类型为tuple,**kwargs表示关键字参数,为dict,使用时需将*arg放在**kwargs之前,否则会有“SyntaxError: non-keyword arg after keyword arg”的语法错误
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
def test( * arg, * * kwargs): print arg print kwargs print "-------------------" if __name__ = = '__main__' : test( 1 , 2 , 3 , 4 , 5 ) test(a = 1 ,b = 2 ,c = 3 ) test( 1 , 2 , 3 ,a = 1 ,b = 3 ,c = 5 ) output: ( 1 , 2 , 3 , 4 , 5 ) {} - - - - - - - - - - - - - - - - - - - () { 'a' : 1 , 'c' : 3 , 'b' : 2 } - - - - - - - - - - - - - - - - - - - ( 1 , 2 , 3 ) { 'a' : 1 , 'c' : 5 , 'b' : 3 } - - - - - - - - - - - - - - - - - - - |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!