Back to questions
Junior — Middle
74
Можешь ли ты назвать основные специальные методы в Python и их назначение?
Answer from AI
sobes.tech AI
В Python специальные методы (или магические методы) — это методы с двойным подчеркиванием в начале и конце имени, которые позволяют объектам вести себя как встроенные типы.
Основные из них:
__init__(self, ...)— конструктор, вызывается при создании объекта.__str__(self)— возвращает строковое представление объекта для пользователя.__repr__(self)— возвращает официальное строковое представление объекта, полезное для отладки.__len__(self)— возвращает длину объекта.__getitem__(self, key)— позволяет обращаться к элементам объекта по индексу или ключу.__setitem__(self, key, value)— позволяет присваивать значения по индексу или ключу.__iter__(self)— возвращает итератор для объекта.__eq__(self, other)— определяет поведение оператора равенства==.__add__(self, other)— определяет поведение оператора сложения+.
Пример использования __str__ и __repr__:
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return f"Точка ({self.x}, {self.y})"
def __repr__(self):
return f"Point(x={self.x}, y={self.y})"
p = Point(1, 2)
print(str(p)) # Точка (1, 2)
print(repr(p)) # Point(x=1, y=2)