iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 使用元类type创建类
  • 593
分享到

python 使用元类type创建类

2024-04-02 19:04:59 593人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1、type动态创建类 1.1 语法格式1.2 案例1:使用type创建类1.3 案例2:使用type创建带有属性(方法)的类1.4 案例3:使用type动态创建一个继

前言:

通常我们创建类都是使用class 类名,但是小伙伴们有没有想过,类是由谁来创建的呢,python中常说的万物皆对象,对象是由类创建的,那类本身也可以看做是对象,类可以由元类type创建

1、type动态创建类 

1.1 语法格式

type(类名,由父类名称组成的元组(可以为空),包含属性的字典(名称和值))
 

1.2 案例1:使用type创建类


Person = type("Person", (), {})
p = Person()
print(type(p))
print(Person.__name__)

结果:


<class '__main__.Person'>
Person


注意:type("Person", (), {})中的Person可以写成其他任意字符串,但是打印类的名称时,就会变成你写其他字符串了


Person = type("Per", (), {})
p = Person()
print(Person.__name__)

结果:

Per

所以为了程序代码更加友好,一般变量名和设置的类名保持统一

1.3 案例2:使用type创建带有属性(方法)的类


def show(self):
    print("展示自己")
Person = type("Person", (), {"age": 18, "name": "jkc", "show": show})
p = Person()
print(p.age)
print(p.name)
p.show()

结果:

18
jkc
展示自己

我们动态创建了一个父类为Object,属性有agename、方法为show的类

1.4 案例3:使用type动态创建一个继承指定类的类


class Animal:
    def __init__(self, color="blue"):
        self.color = color

    def eat(self):
        print("吃东西")
Dog = type("Dog", (Animal, ), {})
dog = Dog()
dog.eat()
print(dog.color)

结果:

吃东西
blue

我们动态创建了一个继承Animal类的Dog类,可以使用Animal类的所有方法和属性

到此这篇关于Python 使用元类type创建类的文章就介绍到这了,更多相关元类type创建类内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python 使用元类type创建类

本文链接: https://www.lsjlt.com/news/155511.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 使用元类type创建类
    目录1、type动态创建类 1.1 语法格式1.2 案例1:使用type创建类1.3 案例2:使用type创建带有属性(方法)的类1.4 案例3:使用type动态创建一个继...
    99+
    2024-04-02
  • python 通过元类控制类的创建
    一、python中如何创建类? 1. 直接定义类 class A:   a = 'a'   2. 通过type对象创建 在python中一切都是对象 在上面这张图中,A是我们平常在python中写的类,它可以创建一个对象a。其实...
    99+
    2023-01-31
    python
  • python中的type,元类,类,对象用法
    目录type,元类,类,对象简单描述类的生成方式元类元类type学习总结type的作用是干什么呢?type,元类,类,对象 简单描述 1.type是python内建元类,新建的元类需...
    99+
    2024-04-02
  • Python元类是怎么创建一个类的
    本篇内容介绍了“Python元类是怎么创建一个类的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!如果你看过比较优秀的 Python 开源框架...
    99+
    2023-06-15
  • Python中type的使用和元类的理解
            “元类就是深度的魔法,99%的用户应该根本不必为此操心。如果你想搞清楚究竟是否需要用到元类,那么你就不需要它。那些实际用到元类的人都非常清楚地知道他们需要做什么,而且根本不需要解释为什么要用元类。”            ...
    99+
    2023-01-31
    Python type
  • Python 5.5 使用元类
    使用元类type()动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时创建的,而是运行时动态创建的。比方说我们定义一个Hello的class,就写一个hello.py模块:class Hello(object):    def h...
    99+
    2023-01-31
    Python
  • python 创建类cell数组
    When you do this: a = np.array([[np.array([[2, 2]]), np.array([[3, 3]])]]) the final call to np.array actually conc...
    99+
    2023-01-31
    数组 python cell
  • Python创建类并使用的方法是什么
    在Python中创建类并使用的方法如下:1. 使用`class`关键字定义一个类,并指定类的名称。2. 在类中定义类的属性和方法。3...
    99+
    2023-09-27
    Python
  • Python元组怎么创建使用
    今天小编给大家分享一下Python元组怎么创建使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。元组(Tuple)元组是有序...
    99+
    2023-07-06
  • Python中 type类有什么用
    这篇文章将为大家详细讲解有关Python中 type类有什么用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在单纯的Python type类的世界中,一切都是对象.这些对象可以分为三类,me...
    99+
    2023-06-17
  • 如何在Python中使用元类
    如何在Python中使用元类?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是...
    99+
    2023-06-14
  • python元类编程如何使用
    本文小编为大家详细介绍“python元类编程如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python元类编程如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.1.propety动态属性在面向对...
    99+
    2023-07-05
  • python元组怎么创建和使用
    Python元组是一个不可变的有序序列,可以通过使用圆括号来创建。元组中的元素可以是不同类型的对象,且可以通过索引访问元素。创建元组...
    99+
    2023-10-11
    python
  •  python中的元类metaclass怎么使用
    今天小编给大家分享一下 python中的元类metaclass怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-30
  • PYTHON中如何创建一个类?
    可以使用 class 关键字来创建一个类: class MyClass: def __init__(self, arg1, arg2): self.arg1 = arg1 self.arg2 = arg2 ...
    99+
    2023-09-05
    python 开发语言
  • Python中动态创建类实例
    简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模块。如下: def crea...
    99+
    2023-01-31
    实例 动态 Python
  • python元类编程的基本使用
    目录1.1.propety动态属性1.2.__getattr__和__getattribute__的区别1.3.属性描述符1.4.__new__和__init__的区别1.5.自定义...
    99+
    2023-02-22
    python元类编程 python元类
  • Java创建student类
    目录 一.创建包,包名可以自拟,在包中创建student类 二.创建Penpal类继承student类 三.在HelloWorld中实现测试 1.1创建一个叫做Student的类: 对象属性:姓名、年龄、性别、身高 对象方法:说话、计...
    99+
    2023-10-12
    java 开发语言
  • 在 PHP 中创建和使用静态类
    在 PHP 中,静态类是在程序中只实例化一次的类。它必须有一个静态成员(variable)、静态成员函数(method),或两者兼有。在 PHP 中使用静态变量创建静态类让我们创建一个类并初始化四个变量。然...
    99+
    2024-02-27
  • input元素所有type类型及相关作用
    1. text: 用于接收用户输入的文本内容。2. password: 用于接收用户输入的密码内容,输入的内容会被隐藏。3. che...
    99+
    2023-09-15
    input
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作