当我从同一个文件中进行子类化时,我已经完成了以下 *** 作,并且它可以工作.
wIDge.py class Widget(object): def __init__(self,bob): #do something class evenWidgetIEr(Widget): def __init__(self,bob): Widget.__init__(self,bob) #do something
但是,一旦我从另一个文件中添加继承..
superWidget.py import wIDge class superWidgety(wIDge.evenWidgetIEr): def __init__(self,bob): wIDge.Widget.__init__(self,bob) #do something
我收到一个错误:
unbound method __init__() must be called with Widget instance as first argument
有没有办法可以从另一个有效的包中继承一个类?
.
出于好奇,这笔交易是什么?
实质上这看起来和我一模一样.我可以使用wIDge.Widget()从另一个文件中调用一个类,这样就可以建立该方法.通过引用声明中的类,我可以在类在同一个文件中时进行子类化.在断言的声明中使用导入类是什么意思?为什么它在同一个文件中看作是正确的方法,但在导入时将自己视为未绑定的方法?
具体来说,我的代码是这样的(剥离不应该影响它的部分.
Attributor.py class Tracker(object): def __init__(self,nodename=None,dag=None): #Tracking stuff class transform(Tracker): #Does stuff with inherited classtimeline_tab.py import Attributor as attr class timeline(attr.transform): #some vars def __init__(self,nodename=None): attr.transform.__init__(self,nodename=nodename) #Additional init stuff,but doesn't happen because error on prevIoUs line解决方法 在superWidget.py中,将SuperWidget更改为使用super
import wIDge class superWidgety(wIDge.evenWidgetIEr): def __init__(self,bob): super(SuperWidget,self).__init__(bob) #do something总结
以上是内存溢出为你收集整理的Python:import.class中的未绑定方法__init __()全部内容,希望文章能够帮你解决Python:import.class中的未绑定方法__init __()所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)