我正在尝试从另一个python脚本中继承一个类。
我在同一个文件中进行子类化时已经完成了以下操作,并且它可以正常工作。
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 class
timeline_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
答案 0 :(得分:1)
在$a="peter";
$b="Ben";
$c="Joe";
$a=array($a,$b,$c);
for($i=0; $i<3; $i++)
{
$a[$i]=>$i;
}
asort($a);
foreach($a as $x => $x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
中更改superWidget.py
以使用SuperWidget
super