我想知道为什么下面的方法失败了;基本上继承子类(子类)似乎无法访问它继承的超类(超类)中的属性。在
顺便说一下,下面的三个文件都在同一个目录中,为了完整起见,我使用的是Python3。在
有什么想法吗?我觉得这是件非常简单的事。谢谢您!在
超类(超类中的/super_类.py)。。。在
class SuperClass(object):
def __init__(self):
self.varSuper = 'varSuper_value'
继承子类(子类在/sub中_类.py)。。。在
^{pr2}$驱动程序/测试人员脚本(/驱动程序.py)。。。在
#! /usr/bin/env python3
from sub_class import SubClass
print(SubClass().varSub) # Works: "varSub_value"
print(SubClass().varSuper) # Excepts: I expected "varSuper_value"
例外。。。在
user@linux$ ./driver.py
varSub_value <--- GOOD
Traceback (most recent call last):
File "./driver.py", line 6, in <module>
print(SubClass().varSuper) <--- NO GOOD
AttributeError: 'SubClass' object has no attribute 'varSuper'
在继承子类中(子类在中/sub_类.py),更改此:
为此:
^{pr2}$顺便说一句,python-3的新咒语避免了键入错误类的可能错误。在
您错误地使用了^{} 函数。您应该使用:
或者在Python3中
^{pr2}$你写的方式就是在父类之后开始MRO,而不是在你自己的类之后。。在
相关问题 更多 >
编程相关推荐