在Python中创建简单的对象层次结构时,我希望能够从派生类中调用父类的方法。在Perl和Java中,这个(super)有一个关键字。在Perl中,我可能会这样做:
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
在python中,似乎我必须从孩子明确指定父类。在上面的例子中,我不得不做一些像Foo :: frotz()。
这看起来不正确,因为这种行为使得很难做出深层次的结构。如果孩子需要知道什么类定义了一个继承的方法,那么就会产生各种信息的痛苦。
这是python的一个实际的限制,在我的理解或两者的差距?