'''
1、python解释器创建类时会同步生成与类名"myclass"同名的一个类型对象,类型对象myclass
是内置builtins模块的type类的一个实例,表示一个类型。这个类型对象除了继承有type类
的实例属性(比如type类又从基类object继承的__class__实例属性)外,还"吸收"了用户
定义类时定义的类属性,当用户定义的类属性与type类的实例属性重名时,type类的实例属
性将屏蔽用户定义的类属性,比如下例用户覆盖定义了"__class__"类属性,但不管在类方法
内访问__class__(即cls.__class__),还是在全局作用域访问(即myclass.__class__)都
访问的是type类属性,而不是用户定义的类属性。只有在类型对象myclass的__dict__字典中
才能访问到用户定义的同名类属性总结:类型对象的实例属性由两部分组成:1、type类的实例属性,如值恒为<class 'type'>
的__class__属性;2、用户定义类时提供的类属性;2、python这个动态语言中变量的类型取决于变量的类型属性__class__,__class__值决定
了这个变量的类型,而类型决定了这个变量可以执行的操作,典型用于修改派生类实例对象的
实例属性__class__为基类的类型对象,从而能访问基类的实例方法。当然,变量执行操作时会对方法进行名字查找,找不到的话就会提示属性错误
"AttributeError",因此变量的类型属性__class__不能乱改。
'''
class myclass():'''自定义类'''attrcls1='heihei'__class__='haha' #i、类型对象myclass的类type有从object基类继承名字"__class__"#的实例属性,这里为类myclass新增一个同名的类属性@classmethoddef ClsMethod(cls):print('cls.__class__: ', cls.__class__)myclass.ClsMethod() #ii、打印<class 'type'>,并没有打印出"haha",说明type类的实例#属性__class__屏蔽了myclass类的类属性__class__
print('myclass.__class__: ', myclass.__class__) #iii、打印<class 'type'>
print(myclass.attrcls1) #正常打印"heihei"
print('myclass.__dict__["__class__"]', myclass.__dict__["__class__"]) #iV、打印"haha",通过类型对象的属性字典还是可以访问到重名的类属性的
#obj=myclass()
#print('obj: ', obj) #<__main__.myclass object at 0x7efd6fdc32e0>
#print('myclass: ', myclass) #<class '__main__.myclass'>

python3.8执行输出:

haypin@ubt:~/Files$ python3.8 m08012.py
cls.__class__:  <class 'type'>
myclass.__class__:  <class 'type'>
heihei
myclass.__dict__["__class__"] haha
haypin@ubt:~/Files$ 

python类型对象<class ‘type‘>的理解与探究相关推荐

  1. python基本对象_python对象之对象基础1

    所有的 Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数 id()来得到. 这个值可以被认为是该对象的内存地址.您极少会 ...

  2. oracle对象类型_如何创建Oracle类型对象

    oracle对象类型 Today we will learn how to create Oracle Type Object. If you are working on a large proje ...

  3. 全面理解Python中的类型提示(Type Hints)

    众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...

  4. Python的对象和类型

    在Python里面一切都是对象 一个Python对象的组成: 1)身份:没有用一个对象都有一个身份表示自己,实用内建函数的id可以到骚这个标识具体的值 2)类型:对象的类型据定了对象保存什么样的值,可 ...

  5. python callable对象_Python中callable的理解?

    >Python has a more general concept of callable object, that is every object that can be called, w ...

  6. python类型属于对象,不属于变量

    python类型属于对象,不属于变量 这句话怎么理解?那跟着看下去吧 a = 3 a = 'python' a = 1.23 对a赋值了三次,第一次是整数,第二次是字符串,第三次是浮点数,这样的赋值对 ...

  7. python判断对象类型_如何查看一个Python对象的类型

    怎么查看一个对象的类型 在Python中有两种类型判断函数,type()和isinstance(). 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判 ...

  8. 完全理解 Python 迭代对象、迭代器、生成器(转)

    完全理解 Python 迭代对象.迭代器.生成器 本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators » nvie.com,俺写的这篇文章是 ...

  9. 设计模式之美:Type Object(类型对象)

    索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):Type Object 的经典介绍. 实现方式(二):Type Object 在游戏设计中的使用. 意图 允许在运行时动态灵活的 ...

最新文章

  1. vant组件实现上传图片裁剪_如何用 120 行代码,实现交互完整的拖拽上传组件?...
  2. 算法提高 c++_ch04_02_修正版
  3. 18.图像用户界面入门:EasyGui
  4. 写出TREE-MINIMUM 和TREE-MAXIMUM的递归版本(算法导论第三版12.2-2)
  5. 用PDB库调试Python程序
  6. cockroachdb设计翻译
  7. VeryCD将于本月关闭 P2P历史即将终结
  8. 彼得林奇PEG价值选股策略(附源码入口)
  9. unity reflect_使用Unity Reflect的不同方法
  10. SERVICE_UNAVAILABLE/1/state not recovered / initialized
  11. ROS(RouterOS)实现一线多拨+负载均衡(多图)
  12. 官方股票交易接口怎么查询股票历史数据?
  13. python之控制台版本(电影)增删改查
  14. 不求人小白也能搭建私有云盘,焕然一新体验
  15. Android动画特效(《安卓群英传》实例)
  16. 啃下这三块最难啃的硬骨头,你将在嵌入式C语言中大放异彩
  17. ACM 基础知识(更新中)
  18. 干货 | SSMS客户端连接京东云RDS SQL Server配置方法
  19. 家用路由器 实现 Web认证
  20. uniapp中web-view的使用

热门文章

  1. 2021年跨境电商还值得做吗,怎么选择适合自己的电商平台
  2. Matlab延时环节的波特图,延迟环节的传递函数全面介绍
  3. Windows PE开发环境
  4. Java在线网校学习平台源码分享
  5. 快客脚本引流工作室:每天用脚本快速引流几千上万到底是啥回事。
  6. SpringBoot2--Spring Security
  7. 如何用微信小程序实现优惠券功能
  8. BZOJ2844-albus就是要第一个出场
  9. 修复Win7服务列表中没有Windows Update服务的问题
  10. php表格怎么移动,excel如何移动或复制列