Python所谓的“一切皆对象”总结而言可以理解如下,
Python语言中,基本类型也是对象。相比其他语言,Python不再区别对待基本类型和对象,所有基本类型内部均由对象实现。 一个整数是一个对象,一个字符串也是一个对象。类型也是一种对象 ,称为类对象。 整数类型是一个对象,字符串类型是一个对象,程序中通过 class 关键字定义的类也是一个对象。通过类型实例化得到的对象,称为实例对象。Python面向对象最大的特点可以总结为,“ 类 ”和“ 对象 ”在 Python 内部都是通过对象实现的。
以int类为例,
变量a是个整数对象(实例对象),其所属类是整数类型(类型对象)
>>> a = 1>>> type(a)<class 'int'>>>> isinstance(a, int)True>>> type(int)<class 'type'>
整数类型的类型是“type”,即类型的类型。type类型比较特殊,它的实例对象还是type类对象。
2.1.2 自定义类型自定义一个狗类型(Dog)及其子类—猎狗类型(Sleuth),
class Dog(object): def yelp(self): print('woof')class Sleuth(Dog): def hunt(self): pass
测试代码如下,
>>> dog = Dog()>>> dog.yelp()woof>>> type(dog)<class '__main__.Dog'>>>> type(Dog)<class 'type'>>>> sleuth = Sleuth()>>> sleuth.hunt()>>> type(sleuth)<class '__main__.Sleuth'>>>> type(Sleuth)<class 'type'>>>> issubclass(Sleuth, Dog)True
2.2 object类型Python中除object类自身外,其他类型均继承于object类,即object 是所有类型的基类。
>>> issubclass(int, object)True>>> issubclass(Dog, object)True>>> issubclass(Sleuth, object)True
2.3 type和object类间的关系object 类是所有类型的基类,本质上是一种类型,因此其类型必然是type。type类是所有类型的类型,本质上也是一种类型,因此其类型必须是它自己。object是所有类型的基类,理论上object类也是type类的基类。上述结论用代码表示如下,
>>> type(object)<class 'type'>>>> type(object) is typeTrue>>> type(type)<class 'type'>>>> type(type) is typeTrue>>> issubclass(type, object)True>>> type.__base__<class 'object'>
2.4 类、对象关系图示将2.1-2.3节的内容使用关系图表示,
以上是内存溢出为你收集整理的类、对象体系全部内容,希望文章能够帮你解决类、对象体系所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)