available_if#

sklearn.utils.metaestimators.available_if(проверить)[источник]#

Атрибут, доступный только если check возвращает истинное значение.

Параметры:
проверитьcallable

При передаче объекта с декорированным методом, это должно возвращать истинное значение, если атрибут доступен, и либо возвращать False, либо вызывать AttributeError, если недоступен.

Возвращает:
callable

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