资讯专栏INFORMATION COLUMN

python的type函数

senntyou / 3040人阅读

摘要:对于,经常会用到的是判断类型,但是判断类型更推荐的一种方式是使用但是很少会用到的另外一个功能,生成一个新的类型,看官方解释这样就可以产生一个新的类型。

对于type,经常会用到的是判断类型,但是判断类型更推荐的一种方式是使用isinstance();但是很少会用到type的另外一个功能,生成一个新的类型,看官方解释:

  

class type(name, bases, dict)
With three arguments, return a new type object. This is essentially a dynamic form of the class statement. The name string is the class name and becomes the name attribute; the bases tuple itemizes the base classes and becomes the bases attribute; and the dict dictionary is the namespace containing definitions for class body and becomes the dict attribute. For example, the following two statements create identical type objects:

>>> class X(object):
...     a = 1
...
>>> X = type("X", (object,), dict(a=1))

这样就可以产生一个新的类型X。

再举个demo:
django框架中的BaseManager

    @classmethod
    def from_queryset(cls, queryset_class, class_name=None):
        if class_name is None:
            class_name = "%sFrom%s" % (cls.__name__, queryset_class.__name__)
        class_dict = {
            "_queryset_class": queryset_class,
        }
        class_dict.update(cls._get_queryset_methods(queryset_class))
        return type(class_name, (cls,), class_dict)

over...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37575.html

相关文章

  • type()函数对类和实例使用结果差异而引出一个问题

    摘要:但是随后有人提出反对意见并说这个是随后搜索到这篇文章深刻理解中的元类里面介绍了如何使用函数创建一个类,并解释了属性。 有如下代码 #-*-coding:utf-8-*- class a(): pass a1 = a() print(type(a),type(a1)) 两个python版本分别为Python2.7.11Python3.5.1 在python2中得到的结果(, )a...

    zhangwang 评论0 收藏0
  • Python实例一个类背后发生了什么

    摘要:好吧,事实上,类本身也是实例,当然,它们是元类的实例。中的一切都是对象,它们要么是类的实例,要么是元类的实例,除了。 写在最前面 一些很重要的知识,我的写得有点乱,也可以去看这些文章 Python 面向对象(初级篇) Python 面向对象(进阶篇) 深刻理解Python中的元类(metaclass) 首先来看一个例子,正常情况下我们定义并且实例一个类如下 class Foo(ob...

    shusen 评论0 收藏0
  • Blender Python API概述

    摘要:在交互式控制台中运行此操作时,您将看到视口更新。键入或粘贴到交互式控制台中。用户首选项加载项列表使用显示有关每个加载项的信息。最后两行仅用于测试这允许脚本直接在文本编辑器中运行以测试更改。 Blender Python API概述 本文档的目的是解释Python和Blender如何组合在一起,涵盖了一些在阅读API参考和示例脚本时可能不明显的功能。 Python in Blender ...

    魏宪会 评论0 收藏0
  • 聊聊技术写作个人体会

    摘要:由此看来,的官方文档就把当成内置函数,这个认识错误是有根源的等到的时候,官方把错误改正过来了,然而改得并不彻底。使用进行判断,结果为的才是内置函数。 showImg(https://segmentfault.com/img/bVbm3Bu?w=5184&h=3456);有群友问过,是什么原因使我开始写技术公众号,又是什么动力让我坚持写的。 在我看来,写作是一件不能敷衍的事,通过写作来学...

    madthumb 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<