如何识别Python中的默认方法值设置?
考虑Python中使用默认参数值的以下类方法定义:如何识别Python中的默认方法值设置?,python,methods,default-value,Python,Methods,Default Value,考虑Python中使用默认参数值的以下类方法定义: class X .. def batch(self, param="foobar", limit=2): ... 然后,用户可以不带参数地调用它,就像 x.batch() 结果:参数值被默认值替换 想象一下,在这种情况下,您想告诉用户如下内容: WARNING the batch size has been set to a default value 2. 问题:是否有一种方法可以回溯或以某种方式截取以识别它(不仅仅是
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(...)
...