Python中type的构造函数参数含义说明


Posted in Python onJune 21, 2015

测试代码如下:

 class ModelMetaClass(type):

     def __new__(cls,name,base,attrs):

         logging.info("cls is:"+str(cls))

         logging.info("name is:"+str(name))

         logging.info("base is:"+str(base))

         logging.info("attrs is:"+str(attrs))

         return type.__new__(cls,name,base,attrs)

         pass

     pass

 

 class Model(dict):

     __metaclass__ = ModelMetaClass

     def __init__(self):

         pass

     pass

 

 def main():

     m=Model()

 

 if __name__ == '__main__':

     main()

测试结果:
 INFO:root:cls is:<class '__main__.ModelMetaClass'>

 INFO:root:name is:Model

 INFO:root:base is:(<type 'dict'>,)

 INFO:root:attrs is:{'__module__': '__main__', '__metaclass__': <class '__main__.ModelMetaClass'>, '__init__': <function __init__ at 0x025C76F0>}

结论就显而易见了。cls是当前类的名字,即类本身。name是通过__metaclass__属性指向ModelMetaClass的类,即要实例化的类,ModelMetaClass拦截了该类的实例化。base是要实例化的类的基类。attrs是要实例化的类的属性集合。
Python 相关文章推荐
Python中处理unchecked未捕获异常实例
Jan 17 Python
Python打印“菱形”星号代码方法
Feb 05 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
python实现的生成word文档功能示例
Aug 23 Python
python破解bilibili滑动验证码登录功能
Sep 11 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 Python
3种适用于Python的疯狂秘密武器及原因解析
Apr 29 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 Python
python 使用tkinter+you-get实现视频下载器
Nov 17 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
Feb 02 Python
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
Oct 16 Python
python开发人人对战的五子棋小游戏
May 02 Python
Python base64编码解码实例
Jun 21 #Python
python在控制台输出进度条的方法
Jun 20 #Python
python压缩文件夹内所有文件为zip文件的方法
Jun 20 #Python
Python写的一个简单监控系统
Jun 19 #Python
详解Python中的日志模块logging
Jun 19 #Python
使用httplib模块来制作Python下HTTP客户端的方法
Jun 19 #Python
举例详解Python中threading模块的几个常用方法
Jun 18 #Python
You might like
PHP生成UTF8文件的方法
2010/05/15 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
php中final关键字用法分析
2016/12/07 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
PHP实现合并两个排序链表的方法
2018/01/19 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
js玩一玩WSH吧
2007/02/23 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
解决python opencv无法显示图片的问题
2018/10/28 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
学习python的前途 python挣钱
2019/02/27 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
Python是什么 Python的用处
2020/05/26 Python
什么是Python中的顺序表
2020/06/02 Python
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
行政助理的职责
2013/11/14 职场文书
初三学生个人自我评定
2014/04/06 职场文书
产品设计开发计划书
2014/05/07 职场文书
个人考核材料
2014/05/15 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
Python关于OS文件目录处理的实例分享
2021/05/23 Python
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server