Так что моя проблема в том, если у меня есть классыНаследование класса объекта после назначения Python
class Source:
def __init__(self):
self.srcname = None
@property
def __name__(self):
sources = ['indeed','careerbuilder','glassdoor']
if self.srcname is None:
return KeyError("Invalid Source Name. Failed to set srcname")
elif self.srcname not in sources:
return KeyError("%s - Source invalid")
else:
return self.srcname
@property
def header(self):
return dict(u=1)
class Other(Source):
def __init__(self):
Source.__init__(self)
self.srcname = "mysource"
def get(self):
return self.header
class Again(Source):
def __init__(self):
super().__init__()
def get(self):
return self.srcname
Я пытался ...
print(Other().get()) ## Works
>>> {"u":1}
print(Again().get()) ## Failed
##Traceback (most recent call last):
## File "~/Desktop/_source.py", line 69, in <module>
## print(Again().get())
## File "~/Desktop/_source.py", line 66, in get
## return self.srcname
##AttributeError: 'Again' object has no attribute 'srcname'
В принципе, я хочу единый класс анализатора, который будет наследовать источник имя после того, как оно уже было назначено из другого класса.
Покажите нам код, где '' '... это не сработало ...' '' и Traceback если есть один .. – wwii
Благодарим за комментирование. Я только что отредактировал его. Надеюсь, это лучше. –
'' 'Again(). Get()' '' не выдает AttributeError с кодом, который вы опубликовали. Пока неясно, с какой проблемой вы обращаетесь за помощью. Возможно, прочитайте http://stackoverflow.com/help/mcve и опубликуйте другой вопрос. – wwii