元类强制编码规范

元类一般作为顶层框架使用

  在顶层控制底层派生类方法的命名规范

class Meta(type):
    def __new__(cls, clsname, bases, clsdict):
        for name in clsdict:
            if name.lower() != name:
                raise TypeError(f"类{clsname}中{name}命名不规范")
        return super().__new__(cls, clsname, bases, clsdict)


class Root(metaclass=Meta):
    ...


class A(Root):
    def func(self):
        ...


class B(Root):
    def Fun(self):
        ...

重写__init__方法也是可以的,这样的的话,就会控制后面子类的创建

posted on 2023-05-16 11:29  默玖  阅读(4)  评论(0编辑  收藏  举报

导航