Top.Mail.Ru
Ответы

Вопрос по Python

1234567891011
 class UpperPrintString(str):

    def __str__(self):
        return self.upper()
    


s1 = UpperPrintString('beegeek')
s2 = UpperPrintString('BeeGeek')
print(s1)
print(s2) 

Почему код в принципе что-то выводит , если в функции нет параметров?

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок

Потому, что у магического метода __str__ и не должно быть других параметров.
Метод __str__ точно так же автоматически вызывается внутри print, как и __repr__ из твоего вопроса 6-часовой давности. Если в классе определены оба магических метода, будет вызван именно __str__.

Аватар пользователя
Искусственный Интеллект

('beegeek')
это параметр

Аватар пользователя
Знаток

Потому что тебе нужен Udav