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

yipeiwu_com7年前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}  
-------------------  

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

相关文章

Python中的__new__与__init__魔术方法理解笔记

很喜欢Python这门语言。在看过语法后学习了Django 这个 Web 开发框架。算是对 Python 有些熟悉了。不过对里面很多东西还是不知道,因为用的少。今天学习了两个魔术方法:_...

python使用post提交数据到远程url的方法

本文实例讲述了python使用post提交数据到远程url的方法。分享给大家供大家参考。具体如下: import sys, urllib2, urllib zipcode = "S2...

Python 'takes exactly 1 argument (2 given)' Python error

Python初学,定义urlConfig 接收参数,正常传递参数时,出现,多给了一个参数的错误问题, 定义class的函数之后,在调用的时候出现“'takes exactly 1 arg...

django框架基于queryset和双下划线的跨表查询操作详解

django框架基于queryset和双下划线的跨表查询操作详解

本文实例讲述了django框架基于queryset和双下划线的跨表查询操作。分享给大家供大家参考,具体如下: 前面篇随笔写的是基于对象的跨表查询:对象.objects.filter(。。...

下载安装setuptool和pip linux安装pip

复制代码 代码如下:#! /bin/bashfiles_url=(https://pypi.python.org/packages/source/s/setuptools/setupto...