0

在python中我可以这样做:

import mechanize
class MC (object):
      def __init__(self):
          self.Browser = mechanize.Browser()          
          self.Browser.set_handle_equiv(True)
      def open (self,url):
          self.url = url
          self.Browser.open(self.url)

我的问题是:我怎样才能__init__在子类中使用父类方法(就像这样):

class MC (mechanize.Browser):
      def __init__(self):
          self.Browser.set_handle_equiv(True)

帮助很大!

4

1 回答 1

2

只需直接调用该方法,基类上的方法在初始化期间可在您的实例上使用:

class MC(mechanize.Browser):
    def __init__(self):
        self.set_handle_equiv(True)

您可能还想调用基类__init__方法:

class MC(mechanize.Browser):
    def __init__(self):
        mechanize.Browser.__init__(self)
        self.set_handle_equiv(True)

我们需要__init__直接调用,因为Browser它是一个老式的 python 类;在我们将使用的新型 python 类super(MC, self).__init__()中,该super()函数提供了一个代理对象,该对象搜索基类层次结构以查找您要调用的下一个匹配方法。

于 2012-09-10T14:07:31.220 回答