available_if#
- sklearn.utils.metaestimators.available_if(check)[source]#
仅当检查返回真值时才可用的属性。
- 参数:
- check可调用对象 (callable)
当传入带有被装饰方法的对象时,如果属性可用,该函数应返回一个真值 (truthy value);如果不可用,则返回 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