摘要:
内置方法 __str__: 1.如果不重写__str__ return会打印出内存地址 2. print() 打印的时候, 会自动触发该函数的执行 如果重写了,会打印出你想要的 class Foo: def __init__(self, name): self.name=name def __str 阅读全文
posted @ 2023-10-30 11:36
hanyingshuo
阅读(19)
评论(0)
推荐(0)
摘要:
调用父类方法的第一种方式:指名道姓的方式,跟继承关无关 # object写与不写,在py3中没有区别. # 有的人在py3中这么写,是为了向下兼容,使复制到py2中也能使用 class Person(object): def __init__(self,name,age): self.name=na 阅读全文
posted @ 2023-10-30 11:34
hanyingshuo
阅读(11)
评论(0)
推荐(0)
摘要:
单例模式是一种设计模式 单例模式:整个过程中只有一个实例,所有生成分实例都指向同一块内存空间 方式一:通过类的绑定方法 当用户输入端口和地址,实例化产生新对象 当用户输入端口和地址,每次拿到的对象,是同一个 class Single: _single_model = None def __init_ 阅读全文
posted @ 2023-10-30 11:22
hanyingshuo
阅读(19)
评论(0)
推荐(0)
摘要:
通过元类来控制类的调用过程 在__init__之前还有__call__方法, 首先Person加括号会调__call__产生了一个空的对象(裸体的人),再把它丢进__init__方法中穿上了衣服,完成了实例化 __call__ 控制类的调用过程, 实际上在控制:对象的产生 class My_clas 阅读全文
posted @ 2023-10-30 11:22
hanyingshuo
阅读(17)
评论(0)
推荐(0)
摘要:
查找顺序(代码) 类的属性查找顺序: 先从类自身找 >mro继承关系去父类中找 >去自己定义的元类中找 >type中 >报错 对象的属性查找顺序: 先从对象自身找 >去类中找 >mro继承关系去父类中找 >报错 class Mymeta(type): # 只有继承了type类才能称之为一个元类,否则 阅读全文
posted @ 2023-10-30 11:22
hanyingshuo
阅读(9)
评论(0)
推荐(0)
摘要:
什么是元类? **最本质的概念: **能够实例化产生类的类,就是元类; type是python解释器内置的元类 或继承type这个类的类就是元类(自定义的元类) class关键字底层原理: 通过type类来实例化得到类 调用了type() 只传一个参数有什么用? 打印这个对象的类型 print(ty 阅读全文
posted @ 2023-10-30 11:22
hanyingshuo
阅读(23)
评论(0)
推荐(0)
摘要:
赠送元类 object.__new__ class Person(): def __init__(self, name, age): print('__init__') self.name = name self.age = age def __new__(cls, *args, **kwargs) 阅读全文
posted @ 2023-10-30 11:22
hanyingshuo
阅读(11)
评论(0)
推荐(0)
摘要:
元类的层级关系 阅读全文
posted @ 2023-10-30 11:22
hanyingshuo
阅读(12)
评论(0)
推荐(0)
摘要:
网站:https://www.cnblogs.com/linhaifeng/articles/8029564.html 一等公民:只要把一个东西赋值给一个变量,这个东西就叫一等公民 什么是元类: Person类也是一个对象,那他一定是由一个类实例化得到,这个类,就叫元类 type是内置的一个元类,所 阅读全文
posted @ 2023-10-30 11:22
hanyingshuo
阅读(12)
评论(0)
推荐(0)
摘要:
表面上是: class + 类名 会把类构造出来 实际上是: 元类实例化产生类 这个对象 # 类实例化产生对象, 一定是: 类名() # Person 类是有type实例化产生,传一堆参数 # type() 调用类的__init__方法 # type() # 如果想要控制类的产生过程,就要用 typ 阅读全文
posted @ 2023-10-30 11:22
hanyingshuo
阅读(38)
评论(0)
推荐(0)