Я пытаюсь вызвать метод @staticmethod
из класса, чтобы инициализировать переменную класса, как показано здесь:
class Test:
@staticmethod
def get_bit_count():
return 8
num = get_bit_count()
Но это немедленно приводит к следующей ошибке: TypeError: 'staticmethod' object is not callable
.
Однако следующий код работает просто отлично:
class Test:
@staticmethod
def get_bit_count():
return 8
num = None
def __init__(self):
self.num = self.get_bit_count()
print(Test.get_bit_count())
print(Test().num)
Метод может быть вызван и переменная num
будет правильно установлена со следующим выводом:
8
8
Нос этим кодом мне теперь нужно создать экземпляр класса, чтобы сделать это.
Есть ли способ, позволяющий мне использовать Test.num
и получать 8
не None
без создания экземпляра класса?Я хочу сделать это, чтобы избежать избыточности, имея только одну переменную в методе get_bit_count()
, которую можно изменить при желании обновить мой код.