我有两个.py文件,一个用于main(main.py)模块,另一个包含类及其子类(sub.py)。从主文件中,我使用如下类
## (main.py)
# Import the superclass
from sub import Class1
# Import the subclass
from sub import Class2
# Assign the object (it gives an error as described below)
myVariable=Class2()
在这里,我用sub.py编写这两个类
## (sub.py)
class Class1:
def __init__(self, nugget=0):
self.eigval=nugget
self.eigvec=nugget
self.explained=nugget
class Class2(Class1):
def __init__(self, nugget=0):
super().__init__(eigval, eigvec, explained)
self.ppc=nugget
self.vol=nugget
self.corr=nugget
self.cov=nugget
我得到的错误是
NameError: name 'eigval' is not defined
尽管我在子类中使用super()继承变量eigval。 为什么会这样
除了
nugget
到Class2
之外,您不需要传递任何内容否则
super().__init__
将从Class1
调用__init__
,因此Class2
实例将具有eigval
、eigvec
和explained
成员,这是正确的相关问题 更多 >
编程相关推荐