程序员开发实例大全宝库

网站首页 > 编程文章 正文

5分钟掌握Python(十三)之元类(python 元类的作用)

zazugpt 2025-04-02 00:17:54 编程文章 13 ℃ 0 评论

1)type()动态创建类:

语法:type(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))

eg:

# -*- coding: UTF-8 -*-

def printHello(self, name='Py'):
    # 定义一个打印 Hello 的函数
    print('Hello,', name)


# 创建一个 Hello 类
Hello = type('Hello', (object,), dict(hello=printHello))

# 实例化 Hello 类
h = Hello()
# 调用 Hello 类的方法
h.hello()
# 查看 Hello class 的类型
print(type(Hello))
# 查看实例 h 的类型
print(type(h))

2)自定义元类:

eg:

class UpperAttrMetaclass(type):
    def __new__(cls, name, bases, dct):
        attrs = ((name, value) for name, value in dct.items() if not name.startswith('__'))
        uppercase_attr = dict((name.upper(), value) for name, value in attrs)
        return super(UpperAttrMetaclass, cls).__new__(cls, name, bases, uppercase_attr)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表