鱼C论坛

 找回密码
 立即注册
查看: 2343|回复: 4

[已解决]调用函数时,关键字参数和位置参数混用报错

[复制链接]
发表于 2020-2-1 17:23:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> def eat(somebody, something):
        print(somebody + '把' + something + '吃了')

       
>>> eat("蛋糕", somebody="小甲鱼")
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    eat("蛋糕", somebody="小甲鱼")
TypeError: eat() got multiple values for argument 'somebody'
>>> eat(somebody="小甲鱼", "蛋糕")
SyntaxError: positional argument follows keyword argument
最佳答案
2020-2-1 17:25:32
本帖最后由 yexing 于 2020-2-1 17:26 编辑

你要这样调用:
  1. eat(somebody='小甲鱼',something='蛋糕')
复制代码


要使用关键字参数就必须把所有参数都带上关键字。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-1 17:25:23 | 显示全部楼层
位置参数不能跟在关键字参数后面,可以这样:

  1. eat(somebody="小甲鱼", something="蛋糕")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-1 17:25:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 yexing 于 2020-2-1 17:26 编辑

你要这样调用:
  1. eat(somebody='小甲鱼',something='蛋糕')
复制代码


要使用关键字参数就必须把所有参数都带上关键字。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-2-1 18:00:48 | 显示全部楼层
zltzlt 发表于 2020-2-1 17:25
位置参数不能跟在关键字参数后面,可以这样:

好的,谢谢你
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-1 18:01:11 | 显示全部楼层
请楼主选一个最佳答案。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-6 03:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表