Одна из лучших особенностей языка Python заключается в том, что методы класса могут возвращать множественные значения. Взгляните на следующий пример:
class Square:
@staticmethod
def get_squares(a, b):
return a*a, b*b
print(Square.get_squares(3, 5)) #(9, 25)
До этого момента мы выводили атрибуты при помощи метода print(). Посмотрим, что случится, если мы выведем объект класса.
class Car:
# создание методов класса
def start(self):
print ("Двигатель заведен")
car_a = Car()
print(car_a) #<__main__.Car object at 0x002C5A70>
Выдача показывает локацию памяти, где хранится наш объект. Каждый объект Python по умолчанию содержит метод __str__ . Когда вы используете объект в качестве строки, вызывается метод __str__ , который по умолчанию выводит локацию памяти объекта. Однако, вы также можете предоставить собственное определение метода __str__ . Например, как в следующем примере:
# создание класса Car
class Car:
# создание методов класса
def __str__(self):
return "Car class Object"
def start(self):
print ("Двигатель заведен")
car_a = Car()
print(car_a) #Car class Object