zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Nginx应用详解及配置
    mongodb复制+分片集原理
    memcached架构及缓存策略
    redis数据类型
    redis数据库安装 redis持久化及主从复制
    shell脚本-正则、grep、sed、awk
    kvm虚拟机管理基础
    kvm热添加和热迁移
    zabbix调用api检索方法
    kubernetes deployment升级和回滚
  • 原文地址:https://www.cnblogs.com/liulipeng/p/7069004.html
Copyright © 2011-2022 走看看