Для вашего конкретного примера это действительно бессмысленно, но фактическое поведение таково:
- Вкл. Имя Класс, который вы вызываете конструктор Expr
- Expr конструктор сохраняет свой параметр в переменной экземпляра
self.args
- В конце у экземпляра будет 2 способа доступа к строковому аргументу:
instance.args
иinstance.string
Кроме того, это неправильный способ вызова родительского конструктора, вы должны использовать следующее:
python 2.x
class Name(Expr):
def __init__(self, string):
super(Name, self).__init__(string)
self.string = string
python 3.x
class Name(Expr):
def __init__(self, string):
super().__init__(string)
self.string = string