网站怎么做二级域名,进博会上海2022,做招聘网站需要做什么公司,凡科建站官网 网络服务# object类是所有类的父类
# type是所有类的类型#xff0c;也就是所有类都是由type实例化而来#xff0c;包括type类和父类object
# class 继承object 同时又type类实例化。其中type就是元类print(type的父类,type.__base__)
class test:pass
print(class的父类是#xff1…# object类是所有类的父类
# type是所有类的类型也就是所有类都是由type实例化而来包括type类和父类object
# class 继承object 同时又type类实例化。其中type就是元类print(type的父类,type.__base__)
class test:pass
print(class的父类是,test.__base__)
print(object父类是,object.__base__)print(object的类型是,type(object))# class:是典型的面向对象编程的表现形式为定义对象的属性、行为提供了一个模板。
# object python3中所有类的父类在class编程隐式自动继承objectobject为其提供了一些内置函数
# type: type是所有对象的顶级类型# class与objectpython3中所有的class都继承object并且每个class的顶级父类都是object
# 在python3中隐式默认元类为type,所以每个class顶级类型都是type类class MyMeta(type):def __new__(cls, *args, **kwargs):print(元类中的__new__被调用)return super(MyMeta, cls).__new__(cls, *args, **kwargs)def __init__(self, *args, **kwargs):print(元类中的__init__被调用)return super(MyMeta, self).__init__(*args, **kwargs)def __call__(self, *args, **kwargs):print(元类中的__call__被调用)return super(MyMeta, self).__call__(*args, **kwargs)class MyClass(metaclassMyMeta):def __new__(cls, *args, **kwargs):print(主类中的__new__被调用)return super(MyClass, cls).__new__(cls, *args, **kwargs)def __init__(self, *args, **kwargs):print(主类中的__init__被调用)return super(MyClass, self).__init__(*args, **kwargs)def __call__(self, *args, **kwargs):print(主类中的__call__被调用)return super(MyClass, self).__call__(*args, **kwargs)print(-------------------------\n创建具体的对象前\n----------------------------------)
m MyClass()
class Student:def __new__(cls, *args, **kwargs):print(创建对象时有自动调用的函数如果当前函数没有返回对象则不会再执行初始化函数了)return super().__new__(cls) # 调用父类的创建对象的函数进行当前对象的创建def __init__(self, name, age, sex):print(初始化函数对象创建成功后自动调用一般用于对象属性的赋值)self.name nameself.age ageself.sex sex# 返回当前对象的字符串描述def __str__(self):return 我是{}今年{}岁是个{}的.format(self.name, self.age, self.sex)def __del__(self):print(删除该对象时会自动调用该函数,一般用于工具类释放资源)if __name__ __main__:stu1 Student(张三, 20, 男)print(stu1) # 当输出对象时输出该对象的字符串描述自动调用__str__函数del stu1
参考
Python - Object类_python object类-CSDN博客