擅长:python、mysql、java
<p>如果您想找到在父类上定义的属性,并且在子类中有一个同名的属性,则需要添加父类的名称才能访问所需的范围</p>
<p>我相信这就是你想要的:</em></p>
<pre><code>class Parent:
prop = 'a property'
def self_prop(self):
print self.prop
# will always print 'a property'
def parent_prop(self):
print Parent.prop
class Child(Parent):
prop = 'child property'
def access_eclipsed(self):
print Parent.prop
class Other(Child):
pass
>>> Parent().self_prop()
"a property"
>>> Parent().parent_prop()
"a property"
>>> Child().self_prop()
"child property"
>>> Child().parent_prop()
"a property"
>>> Child().access_eclipsed()
"a property"
>>> Other().self_prop()
"child property"
>>> Other().parent_prop()
"a property"
>>> Other().access_eclipsed()
"a property"
</code></pre>
<p>在你的例子中,看起来你有两个不同的类,它们定义了不同的变量,所以你可以尝试一下:catch:在测试函数的顶部,或者在初始化器中</p>
<p><strong>然后说</strong></p>
^{pr2}$
<p>(尽管实际上它们应该定义相同的变量,这样测试类就不必知道子类的任何信息)</p>