本文实例讲述了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中元类用法实例相关推荐

  1. python编程字典100例_python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...

  2. python argparse模块详解_python中argparse模块用法实例详解

    本文实例讲述了python中argparse模块用法.分享给大家供大家参考.具体分析如下: 平常在写命令行工具的时候,经常会带参数,所以用python中的argparse来实现. # -*- codi ...

  3. python中mysqldb模块_python中MySQLdb模块用法实例

    本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...

  4. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  5. zip在python中的用法_Python中zip()函数用法实例教程

    本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...])zip()是Python的一个内建函 ...

  6. python类初始化导入库_Python中optparser库用法实例详解

    本文研究的主要是Python中optparser库的相关内容,具体如下. 一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库.当然了,不敢说理解的很到位,但是足以应付正常 ...

  7. python中enumerate在for循环中用法_python中enumerate的用法实例解析

    在python中enumerate的用法多用于在for循环中得到计数,本文即以实例形式向大家展现python中enumerate的用法.具体如下: enumerate参数为可遍历的变量,如 字符串,列 ...

  8. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  9. python 字典定义日志用法_python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...

最新文章

  1. opencv图像特征检测之斑点检测
  2. 将获取到的JSONObject和JSONArray转换为实体对象
  3. win10 uwp DataContext
  4. 如何计算Nand Flash要传入的行地址和列地址
  5. 【Tools】Linux下C和C++程序中内存泄露检测
  6. javascript+HTML+CSS面试题
  7. 【SpringCloud从0到6】 第一节:初识微服务微服务的雪崩效应
  8. attention机制中的注意力图怎么画_注意力机制 | 图卷积多跳注意力机制 | Direct multihop Attention based GNN...
  9. 重新命名的linux命令,Linux 重命名命令自制详细介绍
  10. 数据可视化js框架 d3.js入门
  11. 记录——《C Primer Plus (第五版)》第十章编程练习第五题
  12. 什么是数据挖掘 有什么作用
  13. 1.UML2 软件建模入门与提高 --- 面向对象和软件建模
  14. DEDECMS首页调用单页文档内容并带过滤HTML的方法
  15. YYText识别链接和点击事件
  16. 未来生活进行时: 畅想未来新兴技术40年——百大趋势性技术汇总(中)
  17. 虚拟机usb服务器,VM虚拟机支持USB启动的方法
  18. 什么是拓扑结构_拓扑结构图
  19. 【MySQL学习笔记】电子杂志订阅表的操作
  20. 服务器带宽打开网页很慢,为什么网速很快,但打开的网页速度却很慢?

热门文章

  1. 创业-程序员独自5大思维障碍
  2. 【公告】社区周刊即日起停刊
  3. win2008修改远程端口
  4. android自动化框架简要剖析(一):运行原理+基本框架
  5. 在DOS环境下编译及运行java程序教程
  6. Windows Phone 实用开发技巧(3):输入框自动聚焦并打开SIP
  7. 如何在Windows中打开和使用命令提示符
  8. css flexbox模型_完整CSS课程-包括flexbox和CSS网格
  9. 移动应用程序和网页应用程序_如何开发感觉像本机移动应用程序的渐进式Web应用程序...
  10. C#正则表达式提取HTML中IMG标签的URL地址 .