python class和class(object)用法区别-(转)
2017-12-14 14:13
489 查看
# -*- coding: utf-8 -*- # 经典类或者旧试类 class A: pass a = A() # 新式类 class B(object): pass b = B() # python2不支持 # print(A.__class__) print(a.__class__) print(type(A)) print(type(a)) # python2 # __main__.A # <type 'classobj'> # <type 'instance'> # python3 # <class 'type'> # <class '__main__.A'> # <class 'type'> # <class '__main__.A'> print(B.__class__) print(b.__class__) print(type(B)) print(type(b)) # python2 # <type 'type'> # <class '__main__.B'> # <type 'type'> # <class '__main__.B'> # python3 # <class 'type'> # <class '__main__.B'> # <class 'type'> # <class '__main__.B'> # 旧式类的实现不够好,类是类,实例是实例,类的类型是classobj,实例的类型是instance,两者的联系只在于__class__, # 这和内置对象是不同的,int对象的类型就是int,同时int()返回的也是int类型的对象,内置对象和自定义对象不同就对代码统一实现带来很大困难。 # # 新式类 # # 1. 所有类的类型都是type # 2. 所有类调用的结果都是构造,返回这个类的实例 # 3. 所有类都是object的子类 # 4. 新式类不仅可以用旧类调用父类的方法,也可以用super方法。
相关文章推荐
- python class和class(object)用法区别
- python的class(类)中继承object 与不继承的区别
- python的class是否继承object区别
- Scala中object、class与trait的区别
- object_getClass与self.class的区别
- setUp和tearDown及setUpClass和tearDownClass的用法及区别
- python 中xrange 和range的用法区别 以及yield的用法
- python sort 和sorted的区别和用法
- python Object And Class
- Python中list,tuple,dict,set的区别和用法(转)
- 【转】 Class.forName()用法及与new区别 详解
- python中staticmethod classmethod及普通函数的区别
- python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
- HTML、CSS里面关于 id、class、name 属性的区别和用法
- python中input和raw_input用法及区别
- synchronized(this)、synchronized(class)与synchronized(Object)的区别
- Python中os.mkdir()与os.makedirs()的区别及用法
- Python中新式类 经典类的区别(即类是否继承object)
- python 内建函数isinstance的用法以及与type的区别
- python 列表,数组和矩阵sum的用法区别