Python, получающий доступ к переменной суперкласса в дочернем классе
Я хотел бы получить доступ к значению self.x в дочернем классе. Как мне получить доступ к нему?
class ParentClass(object):
def __init__(self):
self.x = [1,2,3]
def test(self):
print 'Im in parent class'
class ChildClass(ParentClass):
def test(self):
super(ChildClass,self).test()
print "Value of x = ". self.x
x = ChildClass()
x.test()
Ответы
Ответ 1
Вы правильно обращались к переменной суперкласса; ваш код дает вам ошибку из-за того, как вы пытались ее распечатать. Вы использовали .
для конкатенации строк вместо +
и объединили строку и список. Измените строку
print "Value of x = ". self.x
для любого из следующего:
print "Value of x = " + str(self.x)
print "Value of x =", self.x
print "Value of x = %s" % (self.x, )
print "Value of x = {0}".format(self.x)
Ответ 2
class Person(object):
def __init__(self):
self.name = "{} {}".format("First","Last")
class Employee(Person):
def introduce(self):
print("Hi! My name is {}".format(self.name))
e = Employee()
e.introduce()
Hi! My name is First Last