Объясните конструкцию кода. Почему так?
А откуда вы взяли, что version - это метод? Нет, серьёзно - откуда? Расскажите пожалуйста.
class Class:
    def __init__(self):
        self.value = 1

    def method(self):
        return 'something'

c = Class()
print(c.value)  # 1
print(c.method())  # something
c.value это атрибут экземпляра класса Class
c.method() это метод(функция) экземпляра класса Class
Атрибут как переменная, чтобы получить ее значение не нужны скобки
А метод это функция. Для вызова функций нужны скобки
Очень мало информации, но на русском: https://pythonworld.ru/osnovy/obektno-orientirovan...