廖雪峰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

 

posted @ 2017-09-06 09:10  IcarusYu  阅读(421)  评论(0编辑  收藏  举报