python - 如何识别 Python 中的默认方法值设置?
问题描述
考虑使用默认参数值在 Python 中的以下类方法定义:
class X
..
def batch(self, param="foobar", limit=2):
...
然后,用户可以在没有参数的情况下调用它,就像
x.batch()
结果:参数值被默认值替换。
想象一下,在这种情况下,您想告诉用户以下内容:
WARNING the batch size has been set to a default value 2.
问题:有没有办法回溯或者以某种方式拦截以识别它(除了简单地将这个初始化和验证逻辑移动到构造函数方法之外)?
解决方案
您无法检测到何时使用默认值,但可能是这样的?
import warnings
class X
..
def batch(self, param="foobar", limit=None):
if limit == None:
limit = 2
warnings.warn(...)
...
推荐阅读
- javascript - 离线时创建 React App ServiceWorker.js 重定向
- javascript - 如何在 Firebase 管理 SDK 中监视更新功能
- swift - 滚动后,我的计时器标签占用了一个新数字
- javascript - Javascript:if else 语句
- java - Spring Data 对 NamedNativeQuery (JPA-Hibernate-MySql) 进行分页和排序
- python - 张量流内存SIGABRT
- javascript - 添加到列表
使用 jQuery - r - 基于R中的小数子集数据框行?
- regex - 正则表达式拾取包含 2 个破折号的字符串
- python - 使用 Tab 键正确切换到 ttk.TreeView