available_if#
- sklearn.utils.metaestimators.available_if(check)[source]#
一个属性,仅当 `check` 返回真值时才可用。
- 参数:
- check可调用对象
当传入带有装饰方法的对象时,如果属性可用,此参数应返回一个真值;如果不可用,则返回 `False` 或抛出 `AttributeError`。
- 返回:
- 可调用对象
如果
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