Python基础总结(九)(继承和多态)

这里主要列出Python中有关继承和多态的略微特殊的知识点,常见更多继承多态问题


Python允许多重继承,使用下面的语法:

class Subclass(SuperClass1, SuperClass2,...):
       initializer
       methods

私有方法:
Python中通过在一个方法名前加两条下划线定义一个私有方法,私有方法不能被覆盖。即使在子类中有和父类中相同的方法名,这两个方法也是完全不相关的。

object类:
Python中的所有类都派生自object类,这个类中的所有方法都有前后两个下划线。这里介绍如下四个方法:

__new__():当创建一个类的时候被自动调用

__init__():在__new__()随后被调用来初始化类中定义的数据域(一般子类中只应该覆盖__init()__方法初始化数据)。

__str__():默认情况下它会返回一个由该对象所属的类名以及该对象十六进制形式的内存地址的字符串,一般会在子类中重写这个方法返回一些更有用的内容。

__eq__(other):比较两个对象内容是否有相同,相同返回true

isinstance()

isinstance(object, ClassName) #判断object是否是ClassName的一个实例,如果是返回true

issubclass()

issubclass(C, B) #判断类C是否是继承自类B的,如果是返回true

更多参见官方文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,704评论 0 11
  • 定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类...
    绩重KF阅读 3,999评论 0 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,638评论 1 118
  • 记得母亲跟我说过,她们小时候村里有一条小河沟,连接的是一座“双凤桥”。桥的东岸是东村,桥的西岸是西村。而具体河...
    浪子嘉阅读 385评论 2 4