Я хочу, чтобы функция класса была в курсе self.var, независимо от того, изменяется ли она по его встроенному дочернему классу. Как класс С1 дочерний класс в P, и это изменяет значение УАК, тем FUNC делает A. Когда «вар» не меняется, как и C2, а затем сделать B.Метод Python должен знать, что self.variable изменен
class P(object):
var = "original"
def func(self):
if # self.var is changed by child instance:
do A
else:
do B
class C1(P):
var = "changed"
class C2(P):
pass
c1 = C1
c2 = C2
c1.func() # do B
c2.func() # do A
По той причине, что я делаю это и более сложное объяснение.
мне нужно пересмотреть OpenStack горизонта code к FULLFILL своей собственной функции:
class TabGroup(html.HTMLElement):
......
template_name = "horizon/common/_tab_group.html"
......
def render(self):
return render_to_string(self.template_name, {"tab_group": self})
TabGroup обычно наследуются другими детьми, а некоторые из них меняют TEMPLATE_NAME, некоторые из них нет. Я хочу, чтобы метод визуализации знал о имени шаблона, если он был изменен его дочерним элементом и соответствующим образом выполняет разные визуализации.
Это звучит как проблема [XY] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Какова ваша цель _actual_? (I.e., почему вы пытаетесь это сделать?) Вероятно, это лучшее решение. – Chris
Вы не можете использовать 'if self.var! =" Original ":'? – furas
@ Крис, да, thx для ссылки на проблему XY, я обновляю свой quesiton. –