python - Python中位置函数参数的默认值?
问题描述
我正在通过一些代码,我遇到了以下函数:
def foo(self, arg1=1, *, arg2=2):
pass
我很惊讶地看到位置参数左侧的关键字*
参数。然后我注意到我可以foo
通过以下两种方式调用:
>>> foo(1)
>>> foo(arg1=1)
我想我会期望第二次调用失败,因为我foo
通过提供关键字使用命名参数进行调用arg1
。
话虽如此,我是在两种情况下都使用位置参数,还是第二次调用foo
命名参数?
解决方案
推荐阅读
- mysql - Mysql INNER JOIN + MATCH AGAINST:如何加速
- java - notifyAll() 后函数继续,但函数返回后线程终止
- google-cloud-firestore - Firestore .set 不保存来自 Firebase 云功能的数据
- c++ - 写一个宏函数来改变字符串的大小写?
- c - 将结构内的整数类型数组初始化为 NULL 是否可以/有效?
- python - 如何将一天中的分钟附加到 Python 中的列表中?
- mysql - mysql复制错误:截断不正确的DOUBLE值
- apache-spark - 使用 Spark SQL 查询的 CLUSTER BY
- java - 设计会话过期服务
- django - 与 values_list 一起使用时迭代器是否提供改进?