[英]Python super class __init__()?
class Fetcher:
def __init__(self):
self.opener = urllib.opener()
def query(self, something):
self.opener.open(something)
class Person (Fetcher):
def __init__(self):
super().__init__()
super().function()
def fetch(self):
super().query()
如何重写Fetcher查询方法以跳过Fetcher。 初始化每个人以获得self.opener? 甚至我的模式是错误的? 如果可以,那么内存呢?
在初始化子类时,您自然会调用超类的__init__
。 但是,可以通过使每个实例成为超类的class属性来避免为每个实例定义新的opener对象:
class Fetcher:
opener = urllib.opener()
def __init__(self):
pass
def query(self, something):
self.opener.open(something)
class Person (Fetcher):
def __init__(self):
super().__init__()
super().function()
def fetch(self):
super().query()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.