码迷,mamicode.com
首页 > 编程语言 > 详细

python class和class(object)用法区别

时间:2017-06-23 13:05:48      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:调用   type   logs   class   代码   blog   instance   区别   utf-8   

# -*- 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方法。

from:https://my.oschina.net/shyl/blog/692930

python class和class(object)用法区别

标签:调用   type   logs   class   代码   blog   instance   区别   utf-8   

原文地址:http://www.cnblogs.com/liulipeng/p/7069004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!