@Maximka123

Объясните конструкцию кода. Почему так?

Добрый день. Надеюсь Вы мне поможете. Никак не могу понять некоторые моменты в Пайтоне, видимо я туповат поэтому очень рассчитываю на Вашу помощь уважаемое сообщество. Дело в том, что я не могу понять почему при вызове методов класса в каких то случаях ставятся ( ) скобки, а в каких то нет. Пример print(sys.version) в тоже время print(time.time( )) Дело в том что я минут 20 искал ошибку в этом банальном примере поскольку в моей версии программы было написано print(sys.version( ))
Объясните пожалуйста моменты со скобками.

Заранее всем огромное спасибо!
  • Вопрос задан
  • 750 просмотров
Решения вопроса 1
@Helow19274
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...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F
А откуда вы взяли, что version - это метод? Нет, серьёзно - откуда? Расскажите пожалуйста.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы