python 使用元类type创建类
程序员文章站
2022-03-13 10:41:05
目录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
,属性有age
、name
、方法为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创建类内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: GO的range具体使用
下一篇: MySQL系列教程小白数据库基础
推荐阅读
-
Python中类的定义、继承及使用对象实例详解
-
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
-
在Python中创建和使用类
-
Python学习---面向对象---类的定义、创建及对象方法的调用
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
python基础(13):函数名的使用、第一类对象、闭包、迭代器
-
对python3中pathlib库的Path类的使用详解
-
python类:class创建、数据方法属性及访问控制详解
-
举例讲解Python中metaclass元类的创建与使用
-
在Python中定义和使用抽象类的方法