Имеется два класса - loa(родительский) и test(дочерний). Из класса test нужно получить атрибут класса loa. Он определен в конструкторе как l1. Но по понятным причинам я его получить не могу так как его реально нет, он пока еще по факту не объявлен, хотя в конструкторе и прописан. И попытка сслаться на него из прототипа test приводе к ошибке.
class loa:
def __init__(self):
self.l1 = ''
self.l2 = ''
def arg_get(self):
args = '-h, -o:, -s:'
try:
opts, args = getopt.getopt(sys.argv[1:], args, ["help"])
except getopt.error, msg:
print msg
print "For help use --help"
sys.exit(2)
for o, a in opts:
if o in ("-h", "--help"):
print 'Helpaaaaaaaaaaaaaaaaaaaaaaaa'
elif o in("-o"):
self.l1=a
elif o in("-s"):
self.l2=a
else:
assert False, "unhandled option"
def arg_proc(self):
if self.l1:
print self.l1
if self.l2:
print self.l2
class test(loa):
def __init__(self):
print self.l1 #На этой строке и есть ошибка.
Решение именно этой проблемы мне известно, создать инстанс test и ему в конструктор передать l1 полученную из инстанса loa. Но я не понимаю в чем тогда смысл наследования, если я немогу из дочернего класса сослаться например на родительский метод arg_proc, который ссылается на self.l1 которая на уровне пртотипа несуществует. Как решить ЭТУ проблему? Как из дочернего прототипа вызвать функцию родительского прототипа?