__init__(self, ...), где self - это ссылка на создаваемый экземпляр класса, а остальные параметры - ваши аргументы.
В Python аргументы в конструктор класса (метод __init__) передаются так же, как и в любую другую функцию. При создании экземпляра класса аргументы, указанные в скобках после имени класса, автоматически передаются в метод __init__.
Рассмотрим пример:
class MyClass:
def __init__(self, arg1, arg2="default_value"):
# arg1 - обязательный аргумент
# arg2 - необязательный аргумент с значением по умолчанию
self.attribute1 = arg1
self.attribute2 = arg2
print("Конструктор вызван!")
print(f"arg1: {arg1}, arg2: {arg2}")
# Создание экземпляра класса с передачей аргументов
instance1 = MyClass("Hello", "World") # Передаем два аргумента
print(f"attribute1: {instance1.attribute1}, attribute2: {instance1.attribute2}")
instance2 = MyClass("OnlyArg1") # Передаем только один аргумент
print(f"attribute1: {instance2.attribute1}, attribute2: {instance2.attribute2}")
instance3 = MyClass(arg1 = "KeyArg1", arg2 = "KeyArg2") # Передаем аргументы по ключу
print(f"attribute1: {instance3.attribute1}, attribute2: {instance3.attribute2}")
Объяснение:
__init__ является конструктором класса. Он вызывается автоматически при создании нового экземпляра класса.__init__ всегда self. Это ссылка на сам экземпляр класса, который создается. Через self мы можем обращаться к атрибутам и методам класса.arg1, arg2 в примере) – это те аргументы, которые мы хотим передать при создании экземпляра класса.MyClass("Hello", "World")), так и именованные аргументы (MyClass(arg1 = "KeyArg1", arg2 = "KeyArg2")).arg2="default_value"). В этом случае, если аргумент не передан при создании экземпляра класса, будет использовано значение по умолчанию.Важно помнить:
Таким образом, передача аргументов в конструктор класса в Python – это простой и гибкий процесс, позволяющий инициализировать экземпляры класса с необходимыми данными.