python元类的使用_python中元类用法实例
本文实例讲述了python中元类用法,分享给大家供大家参考。具体方法分析如下:
1.元类(metaclass)是用来创建类的类
2.type(object):返回一个对象的类型,与object.__class__的值相同,type(name,bases,dict):创建一个新的type类型,name就是新class的name,值存到__name__属性中,bases是tuple类型,值会存到__bases__中,dict的值存到__dict__中
复制代码 代码如下:
class X:
... a = 1
...
X = type('X', (object,), dict(a=1))
3.类默认是用type()创建的,通过定义类时指定metaclass参数或继承自某个类,而该类指定了metaclass参数,可以自定义类的创建过程
复制代码 代码如下:
class OrderedClass(type):
#该方法返回值就是__new__的namespace参数,如果没有该方法namespace的值就是dict()
@classmethod
def __prepare__(metacls, name, bases, **kwds):
return collections.OrderedDict()
#namespace就是class的__dict__,这个dict类型的对象已经被填充了相应的值
def __new__(cls, name, bases, namespace, **kwds):
result = type.__new__(cls, name, bases, dict(namespace))
result.members = tuple(namespace)
return result
class A(metaclass=OrderedClass):
def one(self): pass
def two(self): pass
def three(self): pass
def four(self): pass
print(A.members)
#('__module__', '__qualname__', 'one', 'two', 'three', 'four')
希望本文所述对大家的Python程序设计有所帮助。
本文标题: python中元类用法实例
本文地址: http://www.cppcns.com/jiaoben/python/114645.html
python元类的使用_python中元类用法实例相关推荐
- python编程字典100例_python中字典(Dictionary)用法实例详解
本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...
- python argparse模块详解_python中argparse模块用法实例详解
本文实例讲述了python中argparse模块用法.分享给大家供大家参考.具体分析如下: 平常在写命令行工具的时候,经常会带参数,所以用python中的argparse来实现. # -*- codi ...
- python中mysqldb模块_python中MySQLdb模块用法实例
本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...
- python中max函数用法_Python中max函数用法实例分析
Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...
- zip在python中的用法_Python中zip()函数用法实例教程
本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...])zip()是Python的一个内建函 ...
- python类初始化导入库_Python中optparser库用法实例详解
本文研究的主要是Python中optparser库的相关内容,具体如下. 一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库.当然了,不敢说理解的很到位,但是足以应付正常 ...
- python中enumerate在for循环中用法_python中enumerate的用法实例解析
在python中enumerate的用法多用于在for循环中得到计数,本文即以实例形式向大家展现python中enumerate的用法.具体如下: enumerate参数为可遍历的变量,如 字符串,列 ...
- python中的super用法详解_Python中super函数用法实例分析
本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...
- python 字典定义日志用法_python中字典(Dictionary)用法实例详解
本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...
最新文章
- opencv图像特征检测之斑点检测
- 将获取到的JSONObject和JSONArray转换为实体对象
- win10 uwp DataContext
- 如何计算Nand Flash要传入的行地址和列地址
- 【Tools】Linux下C和C++程序中内存泄露检测
- javascript+HTML+CSS面试题
- 【SpringCloud从0到6】 第一节:初识微服务微服务的雪崩效应
- attention机制中的注意力图怎么画_注意力机制 | 图卷积多跳注意力机制 | Direct multihop Attention based GNN...
- 重新命名的linux命令,Linux 重命名命令自制详细介绍
- 数据可视化js框架 d3.js入门
- 记录——《C Primer Plus (第五版)》第十章编程练习第五题
- 什么是数据挖掘 有什么作用
- 1.UML2 软件建模入门与提高 --- 面向对象和软件建模
- DEDECMS首页调用单页文档内容并带过滤HTML的方法
- YYText识别链接和点击事件
- 未来生活进行时: 畅想未来新兴技术40年——百大趋势性技术汇总(中)
- 虚拟机usb服务器,VM虚拟机支持USB启动的方法
- 什么是拓扑结构_拓扑结构图
- 【MySQL学习笔记】电子杂志订阅表的操作
- 服务器带宽打开网页很慢,为什么网速很快,但打开的网页速度却很慢?
热门文章
- 创业-程序员独自5大思维障碍
- 【公告】社区周刊即日起停刊
- win2008修改远程端口
- android自动化框架简要剖析(一):运行原理+基本框架
- 在DOS环境下编译及运行java程序教程
- Windows Phone 实用开发技巧(3):输入框自动聚焦并打开SIP
- 如何在Windows中打开和使用命令提示符
- css flexbox模型_完整CSS课程-包括flexbox和CSS网格
- 移动应用程序和网页应用程序_如何开发感觉像本机移动应用程序的渐进式Web应用程序...
- C#正则表达式提取HTML中IMG标签的URL地址 .