可以继承内置类并覆盖某些方法。但是支持现有功能很重要(如果您不从头开始重新实现它)。
一种可以通过两种方式运行父母的方法
使用super()
功能
class MyList(list):
def sort(self):
print ("I am goung to sort this heap of data...")
res = super(MyList, self).sort()
print ("I have done this!!!")
return res # I think it is good practice to return parent result
# (if You don't plan to return Your own result)
运行 parent 的 unbound 方法并将 self 作为第一个参数(你应该明白这正是你需要使用的super
)
class MyList(list):
def sort(self):
print ("I am goung to sort this heap of data...")
res = list.sort(self)
print ("I have done this!!!")
return res # I think it is good practice to return parent result
# (if You don't plan to return Your own result)
我的示例适用于 python 2.x,因为 python 3.xsuper
语法会有所不同,但主要思想保持不变。