Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何识别Python中的默认方法值设置?_Python_Methods_Default Value - Fatal编程技术网

如何识别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. 问题:是否有一种方法可以回溯或以某种方式截取以识别它(不仅仅是

考虑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(...)

    ...