我可以在 Python 中使用任何魔法来通过添加一些额外的参数来有效地使用超级构造函数吗?
理想情况下,我想使用类似的东西:
class ZipArchive(zipfile.ZipFile):
def __init__(self, verbose=True, **kwargs):
"""
Constructor with some extra params.
For other params see: zipfile.ZipFile
"""
self.verbose = verbose
super(ZipArchive, self).__init__(**kwargs)
然后能够将原始构造函数参数与我班级中的一些额外内容混合使用。像这样:
zip = ZipArchive('test.zip', 'w')
zip = ZipArchive('test.zip', 'w', verbose=False)
我正在使用 Python 2.6,但如果只能在更高版本的 Python 中实现魔法,那么我也很感兴趣。
编辑:我可能应该提到上面不起作用。错误是:TypeError: __init__() takes at most 2 arguments (3 given)