您现在的位置是:主页 > news > 医院网站建设 中企动力/网站搭建软件

医院网站建设 中企动力/网站搭建软件

admin2025/5/22 1:02:36news

简介医院网站建设 中企动力,网站搭建软件,做婚恋网站怎么样,wordpress目录详解2019独角兽企业重金招聘Python工程师标准>>> metaclass--元类 除了使用type()动态创建类以外,要控制类的创建行为,还可以使用metaclass。 metaclass,直译为元类,简单的解释就是: 当我们定义了类以后,就可以…

医院网站建设 中企动力,网站搭建软件,做婚恋网站怎么样,wordpress目录详解2019独角兽企业重金招聘Python工程师标准>>> metaclass--元类 除了使用type()动态创建类以外,要控制类的创建行为,还可以使用metaclass。 metaclass,直译为元类,简单的解释就是: 当我们定义了类以后,就可以…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

metaclass--元类

除了使用type()动态创建类以外,要控制类的创建行为,还可以使用metaclass。 metaclass,直译为元类,简单的解释就是:

当我们定义了类以后,就可以根据这个类创建出实例,所以:先定义类,然后创建实例。

但是如果我们想创建出类呢?那就必须根据metaclass创建出类,所以:先定义metaclass,然后创建类。

连接起来就是:先定义metaclass,就可以创建类,最后创建实例。

所以,metaclass允许你创建类或者修改类。换句话说,你可以把类看成是metaclass创建出>来的“实例”。

元类特性

一、下面代码展示了元类可以创建类.以及元类的常用写法:

class Hello:passclass Base(type):def __new__(cls, name, bases, attrs):print(f"cls:{cls}")print(f"name:{name},type:{type(name)}")print(f"bases:{bases},type:{type(bases)}")print(f"attrs:{attrs},type:{type(attrs)}")print("=" * 50)return type.__new__(cls, name, bases, attrs)class World(metaclass=Base):passclass User(World):def say(self):passprint("-" * 50)
print(f"Hello-type:{type(Hello)}")
print(f"World-type:{type(World)}")"""
cls:<class '__main__.Base'>
name:World,type:<class 'str'>
bases:(),type:<class 'tuple'>
attrs:{'__module__': '__main__', '__qualname__': 'World'},type:<class 'dict'>
==================================================
cls:<class '__main__.Base'>
name:User,type:<class 'str'>
bases:(<class '__main__.World'>,),type:<class 'tuple'>
attrs:{'__module__': '__main__', '__qualname__': 'User', 'say': <function User.say at 0x1091d4378>},type:<class 'dict'>
==================================================
--------------------------------------------------
Hello-type:<class 'type'>
World-type:<class '__main__.Base'>
"""

转载于:https://my.oschina.net/u/2474096/blog/2993980