Python也是面向对象的语言,和所有面向对象的语言一样都有继承、封装、多态三大特征。这不禁让我想到了最近林丹出轨的事,都是一般的规律和惯性事件,感觉像是约定俗成习惯就好的事情了。
对象: 对象包括特性和方法。特性只是作为对象的一部分的变量,方法则是存储在对象内的函数。(绑定)方法和其他函数的区别在于方法总是将对象作为自己的第一个参数,这个参数一般成为self。
类:类代表对象的集合(或一类对象),每个对象(实例)都有一个类。类的主要任务是定义他的实例会用到的方法。
多态:多态是实现将不同类型和类的对象进行同样对待的特性——不需要知道对象属于哪个类就能调用方法。hon方面不一致
封装: 对象可以将它们的内部状态隐藏(或封装)起来。在一些语言中,这意味着对象的状态(特性)只对自己的方法可用。在Python中,所有的特性都是公开可用的,但是程序员应该在直接访问对象状态时谨慎行事,因为他们可能无意中使得这些特性在某些特性方面不一致。
继承:继承是另外一个懒惰的行为,一个类可以是一个或者多个类的子类。子类从超类继承所有方法。可以使用多个超类,这个特性可以用来组成功能的正交部分(没有任何联系)。普通的实现方式是使用核心的超类和一个或者多个混合的超类。
如果想要查看一个类是否是另一个类的子类,可以使用内建的issubclass函数
>>>issubclass(子类名,父类名)
True //为真返回真,不是返回假
还可以使用isinstance方法检查一个对象是否是一个类的实例
如果想要知道已知类的基类(们),可以直接使用他的特殊特性__bases__
如果要查看对象内所有储存的值,那么可以使用__dict__特性。如果真的想要找到对象是由什么组成的,可以看看inspect模块。
Python用异常对象来表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行
常见的异常: