Middle
# 2. Python. Sinif funksiyasini chaqirish # Tavsif: # Parent va Child sinflarining print funksiyasini 2 marta chaqirishni amalga oshirish kerak. # Ikki cheklov bilan: 1 - Parent sinfini chaqirishni to'g'ridan-to'g'ri matn sifatida yozib bo'lmaydi. 2 - Parent sinfining xulq-atvorini o'zgartirish mumkin emas. # Child sinfining xulq-atvorini o'zgartirish mumkin. # Natijani ekranga chiqarish. # Kirish ma'lumotlari: # class Parent: # def __init__(self): # print("Parent") # class Child(Parent): # def __init__(self): # print("Child") # Natija: # Parent # Child
sobes.tech AI
AIdan javob
Чтобы вызвать конструктор класса Parent без прямого вызова Parent.init() и без изменения поведения Parent, можно использовать функцию super() в классе Child.
Пример решения:
class Parent:
def __init__(self):
print("Parent")
class Child(Parent):
def __init__(self):
super().__init__() # вызов конструктора Parent без прямого упоминания Parent
print("Child")
child = Child()
Вывод будет:
Parent
Child
Таким образом, мы не меняем класс Parent и не вызываем Parent напрямую, а используем super() для вызова родительского конструктора.