python 元类的使用(orm框架搭建)

本文介绍了Python元类的概念及其在ORM框架中的应用。通过元类实现动态创建类,使类的属性在满足特定条件下自动转换为大写。进一步讨论了ORM框架的构建,包括Field类的设计,用于描述属性名和类型,以及通过元类构建ORM的核心继承体系,实现对象与数据库表的映射,简化SQL操作。
摘要由CSDN通过智能技术生成

元类是python面向对象编程里面很难理解的一个东西,所谓元类的就是类的类,它用来创建类,在python里面,类也是一个对象!!!.元类的作用就是动态的创建类.

在python里面type就是元类,我们所有的class定义类的语句都会被python解释为使用用type来创建一个类.

废话少说,首先看一下怎么用元类来解决一个动态创建类的需求,要求我们对于某一类型的类的满足某个条件的属性名字都变成大写!比如:
class test:
 a = 1
 b = 2
 c = 3

然后test里面的属性是A,B,C。当然这个需求比较奇怪,我们完全可以手动的把类属性定义为大写,但是如果对于类的动态创建要求比较高的话,自己定义类就会很麻烦.这个以后再说.

代码如下:

class TestMetaclass(type):
    def __new__(cls,name,bases,attrs):
        print(attrs)
        attr_names = [ (attr_name.upper(),value) for attr_name,value in attrs.items() if not attr_name.startswith('__')]
        print(attr_names)
        return super().__new__(cls,name,bases,attrs)
class Test(dict,metaclass = TestMetaclass):
    f1 = 1
    f2 = 2
    sS
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值