Конструктор: Метод __init__(self, ...) определяет конструктор класса. Он вызывается при создании нового экземпляра.
Параметры по умолчанию: Можно задавать значения по умолчанию для параметров в конструкторе, например: __init__(self, name="Guest", age=0).  Если значение параметра не передано при создании объекта, будет использовано значение по умолчанию.
Пример:
class Person:
    def __init__(self, name="Guest", age=0):
      self.name = name
      self.age = age
    def greet(self):
      print(f"Hello, my name is {self.name} and I am {self.age} years old.")
  p1 = Person() # Используются значения по умолчанию
  p2 = Person("Alice", 30) # Переданы свои значения
  p1.greet() # Вывод: Hello, my name is Guest and I am 0 years old.
  p2.greet() # Вывод: Hello, my name is Alice and I am 30 years old.
  Важно помнить, что параметры со значениями по умолчанию должны идти после параметров без значений по умолчанию.
Конструктор в Python - это специальный метод класса, который вызывается при создании нового экземпляра этого класса. Он используется для инициализации атрибутов объекта. В Python конструктор называется __init__.
Работа с конструктором:
__init__(self, ...) внутри класса.  self - это ссылка на текущий экземпляр класса.
    self.attribute_name = value.
    my_object = MyClass().
    Параметры по умолчанию:
Параметры по умолчанию позволяют указывать значения для аргументов конструктора, которые будут использоваться, если при создании объекта не передать соответствующие значения. Это делает класс более гибким в использовании.
Пример:
    
class Person:
    def __init__(self, name, age=30, city="Москва"):
        self.name = name
        self.age = age
        self.city = city
    def greet(self):
        return f"Привет, меня зовут {self.name}, мне {self.age} лет, и я из города {self.city}."
# Создаем объект, используя все параметры
person1 = Person("Иван", 25, "Санкт-Петербург")
print(person1.greet())  # Вывод: Привет, меня зовут Иван, мне 25 лет, и я из города Санкт-Петербург.
# Создаем объект, используя параметр по умолчанию для возраста
person2 = Person("Мария", city="Казань")
print(person2.greet())  # Вывод: Привет, меня зовут Мария, мне 30 лет, и я из города Казань.
# Создаем объект, используя параметры по умолчанию для возраста и города
person3 = Person("Петр")
print(person3.greet())  # Вывод: Привет, меня зовут Петр, мне 30 лет, и я из города Москва.
    
  
  Важные моменты:
Person(name="Анна", age=28)).