函数传参的报错

如果有这样的一个函数:

def func(a1, a2=123, a3=456):
    pass

如果使用:

func()

会报错:
TypeError: func() missing 1 required positional argument: 'a1'
因为参数没有默认值,所以必须传参

如果使用:

func(111, a1=222)

会提示
TypeError: func() got multiple values for argument 'a1'

因为第一个参数111代表a1, 又指定参数a1为222,所以对a1重复传参了。

如果使用:

func(111, a1=222, 333)

直接编译不通过,提示
SyntaxError: positional argument follows keyword argument

位置参数不能再关键字参数之后。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 函数是组织好的、可重复使用的,用来实现单一或相关联功能的代码段。函数能够提高应用的模块性和代码的重复利用率。Pyt...
    泷汰泱阅读 2,607评论 0 0
  • 113 Python 查找变量遵守什么顺序? LEGB 规则是啥?[#113-python-%E6%9F%A5%E...
    you的日常阅读 1,792评论 1 3
  • 1.计算次数 """ count字符串1.count(字符串2) - 统计字符串1中字符串2出现的次数字符串...
    Dark_stryyy阅读 1,405评论 0 1
  • 一、集合 1.1 集合的特征 集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重 1.2 集...
    淺色年華_7d4f阅读 2,849评论 0 0
  • 一、集合 1.1 集合的特征 集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重 1.2 集...
    FuSw阅读 1,751评论 0 0

友情链接更多精彩内容