python中元类用法实例

 更新时间:2014年10月10日 10:37:42   投稿:shichen2014  
这篇文章主要介绍了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模糊查询本地文件夹去除文件后缀的实例(7行代码)

    Python模糊查询本地文件夹去除文件后缀的实例(7行代码)

    下面小编就为大家带来一篇Python模糊查询本地文件夹去除文件后缀的实例(7行代码) 。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Django处理多用户类型的方法介绍

    Django处理多用户类型的方法介绍

    这篇文章主要给大家介绍了关于Django处理多用户类型的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • python图片灰度化处理的几种方法

    python图片灰度化处理的几种方法

    灰度化处理是我们进行图像处理的很重要的一个过程,本文主要介绍了python图片灰度化处理的几种方法,感兴趣的可以了解一下
    2021-06-06
  • Python设计模式之状态模式原理与用法详解

    Python设计模式之状态模式原理与用法详解

    这篇文章主要介绍了Python设计模式之状态模式原理与用法,简单描述了状态模式的概念、原理并结合实例形式分析了Python实现与使用状态模式的相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • Python实现的tcp端口检测操作示例

    Python实现的tcp端口检测操作示例

    这篇文章主要介绍了Python实现的tcp端口检测操作,结合实例形式分析了Python使用socket模块实现tcp端口检测功能的相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Python 使用office365邮箱的示例

    Python 使用office365邮箱的示例

    这篇文章主要介绍了Python 使用office365邮箱的示例,帮助大家利用python进行高效办公,感兴趣的朋友可以了解下
    2020-10-10
  • Pycharm安装第三方库并更换镜像的详细教程

    Pycharm安装第三方库并更换镜像的详细教程

    在使用pycharm学习python的时候,经常需要第三方库,没有第三方库程序就会报错,pycharm也会提醒你要安装所需要的库,下面这篇文章主要给大家介绍了关于Pycharm安装第三方库并更换镜像的详细教程,需要的朋友可以参考下
    2023-05-05
  • 如何利用Python给自己的头像加一个小国旗(小月饼)

    如何利用Python给自己的头像加一个小国旗(小月饼)

    这篇文章主要给大家介绍了关于如何利用Python给自己的头像加一个小国旗(小月饼)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Django组件cookie与session的具体使用

    Django组件cookie与session的具体使用

    这篇文章主要介绍了Django组件cookie与session的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • TensorFlow实现简单的CNN的方法

    TensorFlow实现简单的CNN的方法

    这篇文章主要介绍了TensorFlow实现简单的CNN的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论