Форум сайта python.su
0
# Как правильно инициализировать родителя? class A: def __init__(self, parent=None): self.a = 1 class C(A): def __init__(self, parent=None): super().__init__(parent) a = A() # Создали новый инстанс a.a = 10 # Поменяли внутренние аттрибуты c = C(a) # Хотим унаследовать с аттрибутом 10 print(c.a) # Но на выходе = 1
Офлайн
568
KULINAR847
По-моему, вы путаетесь в определениях. a = A() - это объект, то есть экземпляр класса. Классы наследуются от классов, не от экземпляров. Вот это - ерунда, так не бывает c = C(a).
Офлайн
0
class A: def __init__(self, parent=None): self.a = 1 if parent is not None: self.a = parent.a # Если класс A имеет много параметров # Как сделать "self = parent" ? class C(A): def __init__(self, parent=None): super().__init__(parent) a = A() a.a = 10 c = C(a) print(c.a) # Тогда на выходе = 10 что и необходимо
Отредактировано KULINAR847 (Окт. 15, 2019 11:27:23)
Офлайн