Python中的super
Posted on 2017-11-22 in Code • Tagged with python • Leave a comment
最近读了 laike9m 的一片文章,加上文章中提到的 Python’s super() considered super! 和 StackOverflow 上的一个答案,以及一些实践,简直是对super
有了全新的认识。
首先,用 super
的直接好处是可以避免指定父类的名字,也就是说,如果有一天我们修改源码继承自另一个父类,super
引用依旧生效。比方说:
# Previous
class LoggingDict(dict):
def __setitem__(self, key, value):
logging.info('Settingto %r' % (key, value))
super(LoggingDict, self).__setitem__(key, value)
# Modified
class …