Предположим, я хочу создать класс Basic с простой функциональностью по умолчанию и подкласс Fancy, который доступен только при условии, что доступен какой-то конкретный пакет, назовем его pckg с функцией f. Как мне сделать это чисто? Надеюсь, следующий код объясняет мои намерения:
РЕДАКТИРОВАТЬ
Мы можем просто написать код следующим образом. Далее пользователь решает, устанавливать или нет pckg.
try:
import pckg
except ImportError:
pass
class Basic():
def __call__(self, x, a):
return x*a
class Fancy():
def __call__(self, x, a):
return x*pckg.f(a)
Подробнее: https://stackoverflow.com/questions/799 ... -in-python