廖雪峰Python学习笔记——类和实例
Class MyList(list):
__metaclass__ = ListMetaclass #它表示在创建MyList这个类时,必须通过 ListMetaclass这个元类的LIstMetaclass.__new__()方法来创建,然后你可以再添加新的方法
1 创建实例的时候就会调用__init__
2 python中如果子类和父类拥有相同的方法,则通过子类调用该方法时只会调用子类的方法,而覆盖父类的方法。如果我们需要append地式地继承父类这个方法,则需要通过在子类__init__中添加 父类.__init__(self,…)来调用
3但第二条的方法在继承关系复杂时候,如果父类名一改变就很复杂,所以我们用super替换上述语句实现__init__的超级继承,即使类已经继承多个父类也只需要一个super语句:
super(自己的类名,self).__init__(*args,**kw)
4 定义类的一种方法
1 class Classname(object): 2 def __init__(self,arg): 3 #下方__init__()有没有参数是根据super类中的init方法来的 4 super(Classname, self).__init__() 5 self.arg=arg