python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法

yipeiwu_com6年前Python基础

python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法

前言:

      在Python中,这两个是python中的可变参数,*arg表示任意多个无名参数,类型为tuple,**kwargs表示关键字参数,为dict,使用时需将*arg放在**kwargs之前,否则会有“SyntaxError: non-keyword arg after keyword arg”的语法错误

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}  
-------------------  

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

浅谈python3.6的tkinter运行问题

python3.6在运行tkinter时要选择 run as Python unit-test, 否则报错 ModuleNotFoundError: No module named 't...

解决Django 在ForeignKey中出现 non-nullable field错误的问题

在django的model中建立了如下的类 class UserType(models.Model): name = models.CharField(max_length=40,...

Python使用random和tertools模块解一些经典概率问题

random 模块中的常用函数 复制代码 代码如下: random() 返回一个位于区间 [0,1] 内的实数; uniform(a, b) 返回一个位于区间 [a,b] 内的实数; r...

python中ASCII码字符与int之间的转换方法

ASCII码转换为int:ord('A') 65 int转为ASCII码:chr(65) 'A' 题目内容: 实现一个凯撒密码的变种算法,对输入字符串进行加解密处理 把字母a-z分别循环...

对python中的six.moves模块的下载函数urlretrieve详解

对python中的six.moves模块的下载函数urlretrieve详解

实验环境:windows 7,anaconda 3(python 3.5),tensorflow(gpu/cpu) 函数介绍:所用函数为six.moves下的urllib中的函数,调用如...