当前位置: 首页 > news >正文

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

相关文章:

  • Eclipse Error Cannot change version of project facet Dynamic Web Moudle to 3.0
  • asp.net控件开发基础(1)
  • (八十八)VFL语言初步 - 实现布局
  • js中包含中文注释引起的错误
  • CSS3选择器:nth-child与:nth-of-type区别
  • 数据集成在ODS项目的应用模式
  • hadoop无法启动DataNode问题
  • 解决ajax.net 1.0中文乱码问题
  • 如何动态添加菜单/菜单项、子菜单、右键菜单
  • java泛型中?和T区别
  • 介绍一款开源的正则表达式测试工具-Regex Tester
  • Asp.Net中CS中获取物理路径
  • npm 安装
  • Delphi 与 DirectX 之 DelphiX(50): TDIB.DoLightness();
  • 小型企业局域网免费上网行为管理方案
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • maya建模与骨骼动画快速实现人工鱼
  • MySQL-事务管理(基础)
  • Nodejs和JavaWeb协助开发
  • rabbitmq延迟消息示例
  • 观察者模式实现非直接耦合
  • 模型微调
  • 前端学习笔记之观察者模式
  • 算法-插入排序
  • 应用生命周期终极 DevOps 工具包
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $GOPATH/go.mod exists but should not goland
  • (1) caustics\
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (js)循环条件满足时终止循环
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (九十四)函数和二维数组
  • (区间dp) (经典例题) 石子合并
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET 分布式技术比较
  • .NET 依赖注入和配置系统
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .Net的C#语言取月份数值对应的MonthName值
  • .net访问oracle数据库性能问题
  • .NET和.COM和.CN域名区别
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • @JsonSerialize注解的使用
  • @Transactional 详解
  • @Transient注解
  • [Angular] 笔记 18:Angular Router
  • [Asp.net mvc]国际化
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [C++]C++基础知识概述
  • [codevs 1515]跳 【解题报告】
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • [FROM COM张]如何解决Nios II SBTE中出现的undefined reference to `xxx'警告