Форум сайта python.su
0
Как сделать так, чтобы принимаемые аргументы конструктора класса A
class A: def __init__(self, somearg1: int): self.arg1 = somearg1
class B(A): def __init__(self, somearg2: int): self.arg2 = somearg2
>> b = B(20) # only somearg2 Traceback .... ....... __init__ takes 2 arguments, it was given only 1 (somearg1, somearg2)
Офлайн
73
dredsssстранные у вас аргументы
(self, somearg1: int)
class A: def __init__(self, somearg1): self.arg1 = somearg1 class B(A): def __init__(self, somearg1, somearg2): super().__init__(somearg1) self.arg2 = somearg2 b = B(20,30) print(b.arg1,b.arg2)
20 30 >>>
Отредактировано marvellik (Окт. 27, 2018 19:42:11)
Офлайн
0
marvellikЭто в 3.5+ версиях обозначение для девелоперов и IDE какого типа должен быть аргумент. Это тоже, что и somearg1=0, только без значения и он обязательный
Офлайн
221
dredsssгениально… запомню формулировку что б новичкам объяснять. И да тут где то пролетал самолет с платкатом “сарказм”
Это тоже, что и somearg1=0, только без значения и он обязательный
Офлайн