我有两节课。一个继承了另一个:
class A(object):
def __init__(self):
self.attribute = 1
class B(A):
def get_attribute(self):
return self.attribute
我希望能够在类型A的对象上调用B中的方法。我无法编辑类A(它是内置类)。当我尝试从B调用方法时,会出现AttributeError。
a = A()
a.get_attribute()
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
a.get_attribute()
AttributeError: 'A' object has no attribute 'get_attribute'
有没有办法从B调用方法而不明确声明数据是B类型?
答案 0 :(得分:0)
虽然不鼓励你这样做,但你可以使用像函数这样的任何方法。在你的情况下,它将是
B.get_attribute(a)
原因是该方法必须与a
的类型兼容。