Я пытаюсь инициализировать атрибут класса, вызывая функцию.Пожалуйста, смотрите ниже.Этот код работает, как и ожидалось, в то же время он меня запутывает.Насколько я понимаю, getmemtoto - это так называемая несвязанная функция, которую нужно вызывать с экземпляром класса T. Как ее можно вызвать во время определения класса?
class T:
def getmemtot():
output=shell(r"sed -r -n -e 's/^MemTotal:\s*([[:digit:]]+)\s*kB/\1/ p' /proc/meminfo")
return int(output)
MEMTOT=T.getmemtot()
Если я попытался вызвать getmemtot напрямую, я получил следующие ошибки:
>>> T.getmemtot()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unbound method getmemtot() must be called with T instance as first argument (got nothing instead)
>>> getmemtot()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'getmemtot' is not defined