Ответ
В Python практически всё является объектом — от простых типов данных (числа, строки) до сложных структур (классы, функции). Объект — это фундаментальная сущность, которая объединяет в себе состояние (данные или атрибуты) и поведение (функции или методы).
Объекты создаются на основе классов, которые выступают в роли чертежей или шаблонов.
Ключевые понятия:
- Класс (
class
): Шаблон для создания объектов. Определяет, какие атрибуты и методы будут у его экземпляров. - Объект (экземпляр): Конкретная реализация класса в памяти.
- Атрибут: Переменная, связанная с объектом, хранящая его состояние.
- Метод: Функция, связанная с объектом, определяющая его поведение.
Пример создания и использования объекта
Рассмотрим класс Vector
, который представляет двумерный вектор.
# 1. Определение класса (чертежа)
class Vector:
# Метод-конструктор __init__ для инициализации объекта
def __init__(self, x, y):
# Атрибуты для хранения состояния (координат)
self.x = x
self.y = y
# Метод для определения поведения (вычисление длины)
def length(self):
return (self.x**2 + self.y**2) ** 0.5
# Метод для "человекочитаемого" представления объекта
def __str__(self):
return f"Vector({self.x}, {self.y})"
# 2. Создание объектов (экземпляров) класса Vector
v1 = Vector(3, 4)
v2 = Vector(5, 12)
# 3. Использование атрибутов и методов объектов
# Доступ к атрибутам
print(f"Координаты v1: x={v1.x}, y={v1.y}") # Вывод: Координаты v1: x=3, y=4
# Вызов методов
print(f"Длина вектора v1: {v1.length()}") # Вывод: Длина вектора v1: 5.0
print(f"Длина вектора v2: {v2.length()}") # Вывод: Длина вектора v2: 13.0
# Печать объекта (вызывается метод __str__)
print(v1) # Вывод: Vector(3, 4)
В этом примере v1
и v2
— это два независимых объекта класса Vector
, каждый со своим собственным состоянием (x
и y
), но с общим поведением, определенным в классе.