Python | Class生成器

本文介绍了如何使用Python读取Json文件,动态获取类属性名和值,然后生成对应的类字典,并通过实例化创建对象。示例中展示了如何遍历Json数据并添加到ClassBuilder类中,最后生成Person类。
摘要由CSDN通过智能技术生成

一、需求

  • 读取Json文件或者字典,获取类属性名、类属性值字段,动态生成指定类名的类

  • 字典格式:{ 类属性名1:类属性值1,类属性名2:类属性值2 ··· ···}

二、代码

        python代码

import json

class ClassBuilder:
    def __init__(self):
        self.class_attrs = {}

    def add_attrs(self, name, value):
        self.class_attrs[name] = value

    def generate_class(self, class_name):
        return type(class_name, (), self.class_attrs)

        Json文件

{
  "name": "tom",
  "age": 20,
  "sex": "man"
}

三、使用

if __name__ == "__main__":
    with open("person.json", 'r', encoding="utf-8") as f:
        person_msg = json.load(f)
    classBuilder = ClassBuilder()
    for key, value in person_msg.items():
        classBuilder.add_attrs(key, value)
    Person = classBuilder.generate_class("Person")
    print(Person.name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值