python动态创建类怎么实现

1141
2023/11/29 12:10:07
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Python中可以使用type()函数动态创建类。

type()函数的三个参数分别是:

  • 类的名称(字符串类型)
  • 类继承的父类(元组类型)
  • 类的属性和方法(字典类型)

以下是一个示例代码,演示了如何使用type()函数动态创建类:

# 定义类的属性和方法
attributes = {
    'name': 'DynamicClass',
    'age': 20,
    'get_name': lambda self: self.name,
    'set_name': lambda self, name: setattr(self, 'name', name),
}

# 使用 type() 函数创建类
DynamicClass = type('DynamicClass', (), attributes)

# 创建类的实例
obj = DynamicClass()

# 调用类的方法
print(obj.get_name())  # 输出: DynamicClass

# 动态修改类的属性
obj.set_name('NewClass')
print(obj.get_name())  # 输出: NewClass

以上代码中,attributes字典定义了类的属性和方法,其中name是一个字符串类型的属性,get_name是一个获取name属性值的方法,set_name是一个设置name属性值的方法。

然后使用type()函数创建了DynamicClass类,该类继承自空的父类(),并且具有attributes字典中定义的属性和方法。最后通过实例化类,并调用方法来验证类的创建是否成功。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: python中re模块的用法是什么