python中是否有类,其作用是?

Python09

python中是否有类,其作用是?,第1张

python中元类是类的类。类定义类的实例(即对象)的行为,而元类定义类的行为。类是元类的实例。虽然在Python中你可以对元类使用任意可调用对象(如Jerub演示),但是更好的方法是使其成为实际的类。type是Python中常见的元类。type它本身是一个类,并且是它自己的类型。你将无法type纯粹使用Python 重新创建类似的东西,但是Python有点作弊。要在Python中创建自己的元类,你实际上只想将其子类化type。元类最常用作类工厂。class执行该语句时,Python首先将class语句的主体作为普通代码块执行。生成的名称空间(字典)保留了将来类的属性。通过查看待定类的基类(继承了元类),待定类的__metaclass__属性(如果有)或__metaclass__全局变量来确定元类。然后使用该类的名称,基数和属性调用该元类以实例化它。但是,元类实际上定义了类的类型,而不仅仅是它的工厂,因此你可以使用它们做更多的事情。例如,你可以在元类上定义常规方法。这些元类方法就像类方法,因为它们可以在没有实例的情况下在类上调用,但是它们也不像类方法,因为它们不能在类的实例上被调用。type.__subclasses__()是type元类上方法的示例。你还可以定义正常的“魔力”的方法,如__add__,__iter__和__getattr__,执行或如何变化的类的行为。

简单来说,类是一种高级抽象,就是一种高级的数据类型,是对象的蓝图,就是用来定义你要用的对象的属性和行为的,为什么要使用类,你可以和之前没有类的时候进行比较,比如和结构化编程比较,有了类有什么好处,总结就是封装、继承、多态,这些要你自己理解,越高级越抽象,越接近人的思维,越容易理解与使用,慢慢体会