• python class和class(object)用法区别


    # -*- 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

  • 相关阅读:
    12月11日
    081212 晴
    12月10日
    树莓派项目——基于树莓派的WIFI网络互传系统设计
    IDE
    边缘检测
    Android Launcher桌面应用快捷方式的开发
    android ui事件处理分析
    listview 分析
    ApplicationsIntentReceiver.class
  • 原文地址:https://www.cnblogs.com/liulipeng/p/7069004.html
Copyright © 2020-2023  润新知