在Python中,定义一个类时,可以在新的属性定义中使用之前定义的属性,而无需进一步参考。Python:如何在类级别访问超级属性属性定义
class Parent(object):
a_value = 'a'
another_value = 'b'
all_values = (a_value, another_value)
是否有可能在派生类中做同样的事情,但仍然可以访问这些父属性中的一些?
我试图做这样的事情:
class Child(Parent):
a_child_value = 'c'
all_values = (a_value, another_value, a_child_value)
但它似乎并没有考虑到父母继承和给了我以下错误:
NameError: name 'a_value' is not defined
那么,有没有任何方式来表明a_value
和another_value
应该从父类而不是当前上下文?
在我的情况下,特别是值不是字符串,而是预编译的正则表达式,所以我想避免每次创建新实例时都必须在__init__
方法内创建它们。
@Moses Koledoye:我不会认为这是重复的:虽然你所指出的问题含蓄地包含了我正在寻找的信息,但所要求的信息是不同的。我问了“怎么做”,因为我无法在任何地方找到它,而这个问题就是以这种方式问“为什么”。 –
愚蠢的目标不仅仅是回答你的问题。它更详细地描述你想要什么;为什么和如何。问题不一定要完全一样。 –