666666pingzi

* 类型 和类

在Python中,一切都是对象。类也是对象。所以一个类必须有一个类型


注意:
1.type Python3中所有的类都是通过type来创建出来的
2.object:Python3中所有类的顶级父类都是object


# 使用type创建类
"""
1.第一个参数是类的名字 str 类型
2.第二个参数是继承的父类 tuple 类型
3.第三个参数类定义的属性,跟方法名 dict 类型
"""

# 创建方法,放到第三个参数里面就可以,调用
def func(self):
print("你好")

Test = type("Test", (object,), {"name": "张三","func":func})


自定义元类

1.自定义元类必须继承于type
2.type创建类:三个参数

"""
1.第一个参数是类的名字 str 类型
2.第二个参数是继承的父类 tuple 类型
3.第三个参数类定义的属性,跟方法名 dict 类型
"""
例子:
# 自定义元类
class MyMetaClass(type):

  def __new__(cls, name, bases, namespace, *args, **kwargs):
  return super().__new__(cls, name, bases, namespace)

# 通过自定义元类来创建类
class Test(metaclass=MyMetaClass):
  name = "张三"


# 父类指定元类,子类可以继承父类所指定的元类
class MyClass(Test):
  pass

t = Test()
print(type(Test))
结果:<class \'__main__.MyMetaClass\'>
print(Test.__dict__)

分类:

技术点:

相关文章:

  • 2021-04-23
  • 2021-12-22
  • 2021-11-21
  • 2021-11-21
  • 2021-08-26
  • 2021-10-18
  • 2021-12-28
  • 2021-10-29
猜你喜欢
  • 2021-09-15
  • 2021-11-21
  • 2021-11-21
  • 2021-11-21
  • 2022-01-14
  • 2021-12-12
相关资源
相似解决方案