__init__
. Для инициализации объекта класса с несколькими параметрами, укажите их в сигнатуре метода __init__
и присвойте значения соответствующим атрибутам объекта (self.атрибут
).
class MyClass:
def __init__(self, param1, param2, param3="default"):
self.param1 = param1
self.param2 = param2
self.param3 = param3
# Пример использования
obj = MyClass("value1", "value2", "value3")
obj2 = MyClass("valueA", "valueB") # Использует значение по умолчанию для param3
Для создания конструктора в Python, используется специальный метод __init__()
. Этот метод автоматически вызывается при создании нового экземпляра класса.
Пример класса с конструктором, принимающим несколько параметров:
class MyClass:
def __init__(self, param1, param2, param3="default_value"):
"""
Конструктор класса MyClass.
Args:
param1: Первый параметр. Обязательный.
param2: Второй параметр. Обязательный.
param3: Третий параметр. Необязательный, имеет значение по умолчанию.
"""
self.attribute1 = param1
self.attribute2 = param2
self.attribute3 = param3
print("Создан экземпляр класса MyClass с параметрами:", param1, param2, param3) # Для демонстрации
def display_attributes(self):
print(f"attribute1: {self.attribute1}")
print(f"attribute2: {self.attribute2}")
print(f"attribute3: {self.attribute3}")
# Пример использования
instance1 = MyClass("value1", "value2") # Используем значение по умолчанию для param3
instance2 = MyClass("valueA", "valueB", "valueC") # Передаем все параметры
instance1.display_attributes()
instance2.display_attributes()
Объяснение:
class MyClass:
Определяет класс с именем MyClass
.def __init__(self, param1, param2, param3="default_value"):
Определяет конструктор.
self
: Обязательный параметр, ссылается на текущий экземпляр класса.param1
, param2
: Обязательные параметры, которые должны быть переданы при создании экземпляра класса.param3="default_value"
: Необязательный параметр со значением по умолчанию "default_value"
. Если при создании экземпляра этот параметр не указан, будет использовано значение по умолчанию.self.attribute1 = param1
, self.attribute2 = param2
, self.attribute3 = param3
: Присваивают значения, переданные в конструктор, атрибутам экземпляра класса (attribute1
, attribute2
, attribute3
). self.attribute1
создает атрибут экземпляра класса, который можно будет использовать через instance1.attribute1
и т.п.instance1 = MyClass("value1", "value2")
и instance2 = MyClass("valueA", "valueB", "valueC")
: Создают два экземпляра класса MyClass
, передавая различные значения в конструктор.Ключевые моменты:
__init__
.self
) всегда должен быть ссылкой на текущий экземпляр класса.__init__
, __repr__
и другие методы.