available_if#
- sklearn.utils.metaestimators.available_if(check)[源代码]#
仅在check返回真值时才可用的属性。
- 参数:
- check可调用
当通过修饰方法传递对象时,如果属性可用,则应该返回一个truthy值,如果属性不可用,则返回False或引发AttributeError。
- 返回:
- 可调用
Callable使修饰方法可用,如果出现
check
返回真实值,否则修饰方法不可用。
示例
>>> from sklearn.utils.metaestimators import available_if >>> class HelloIfEven: ... def __init__(self, x): ... self.x = x ... ... def _x_is_even(self): ... return self.x % 2 == 0 ... ... @available_if(_x_is_even) ... def say_hello(self): ... print("Hello") ... >>> obj = HelloIfEven(1) >>> hasattr(obj, "say_hello") False >>> obj.x = 2 >>> hasattr(obj, "say_hello") True >>> obj.say_hello() Hello