Python错误集锦:调用函数提示SyntaxError: positional argument follows keyword argument

原文链接: http://www.juzicode.com/python-error-syntaxerror-positional-argument-follows-keyword-argument/

错误提示:

 调用函数提示SyntaxError: positional argument follows keyword argument

#juzicode.com / vx:桔子code
def func(name,height=160,weight=70):
    print('name  :',name)
    print('height:',height)
    print('weight:',weight)

func(height=175,'桔子菌')
==========运行结果:

  File " < ipython-input-27-2b2875ad964b>", line 7
    func(height=175,'桔子菌')
                    ^
SyntaxError: positional argument follows keyword argument

 

 

错误原因:

1、第1个位置参数是name,调用函数时关键字参数height再位置参数name之前,所以出现语法错误。

 

解决方法:

1、实参传入必须和位置参数一一对应,先传位置参数再传关键字参数:

#juzicode.com / vx:桔子code
def func(name,height=160,weight=70):
    print('name  :',name)
    print('height:',height)
    print('weight:',weight)

func('桔子菌',height=175,)
==========运行结果:
name  : 桔子菌
height: 175
weight: 70

 2、位置参数name也采用关键字参数形式传递,原来的位置参数对位置就没有要求了:

#juzicode.com / vx:桔子code
def func(name,height=160,weight=70):
    print('name  :',name)
    print('height:',height)
    print('weight:',weight)

func(height=175,name='桔子菌',)
==========运行结果:
name  : 桔子菌
height: 175
weight: 70

扩展内容:

  1.  Python基础教程6–函数
  2. 好冷的Python~默认参数、可变对象和不可变对象

 


 

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注