class Test:
func = self.func2 # default: func is func2 by default
# tried Test.func2 as well and Pycharm shows error
def __init__(self, func=None):
if func is not None:
self.func = func
def func1(self):
pass
def func2(self):
pass
Кто-нибудь может посоветовать, как добиться чего-то подобного выше?
Я попытался установить для параметра func значение по умолчанию func2 в конструкторе, но это также приводит к ошибкам.
, поэтомупозже, где-нибудь в классе Test, я могу просто вызвать self.func вместо многократного запуска условий, чтобы выяснить, следует ли использовать func1 или func2
self.func()
**** SOLUTION (что я и сделал) ****
в main.py:
t = Test(func=Test.func1)
t.func(t, **kwargs)
это должно успешно вызвать t.func1 (или t.func2, если указан) с доступом к t instance_attributes посредством вызова более высокого уровня.способ заказа t.func