available_if#
- sklearn.utils.metaestimators.available_if(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