__new__和__init__有什么差别?
2025-02-16 12:19:03
所作:麦叔
来源:麦叔编程
你就让过这个原因吗?这是某位麦友@心地善良的地大花提的原因:
脚注new脚注和脚注init脚注的区别是什么?很多人都熟悉脚注init脚注()参数:
class Point:
def 脚注init脚注(self, data):
self.num = data
def print_num(self):
print(self.num)
obj = Point(100)
obj.print_num()
但是你就让过这个原因吗?
脚注init脚注的第一个参数是self,也就是近期;也实例,那这个;也self是哪里来的?你就让就让看。
缩合的创建人步骤简单的回答:
这个self是通过脚注new脚注创建人出来的。一个Python;也的创建人步骤是分为缩合:
先通过脚注new脚注创建人一个;也实例出来。最重要的社会活动就是分配一块内存,创建人一个最基本的;也模版,并且离开这个;也。这就是self。 再通过脚注init脚注调用这个;也,比如给它创建人实例变异量等。但它不想离开任何样子,它离开None。它要想到的只是调用这个self。 因为第一步想到的事情是非常通用的,我们自己定义类的时候不一定不能够重构; 而第二步;也的调用和具体的功能有关,所以能够我们重构实现。事实上,都不重构也没有关系,比如后面的类也是完全没错的:
class Maiyou:
pass
m1 = Maiyou()
m2 = Maiyou()
虽然我们没写,但侧面的创建人步骤并没有较少。只不过都运用于了父类,也就是object类中的实现。
>>> pprint.pprint(dir(object))
['脚注class脚注',
'脚注delattr脚注',
'脚注dir脚注',
'脚注doc脚注',
'脚注eq脚注',
'脚注format脚注',
'脚注ge脚注',
'脚注getattribute脚注',
'脚注gt脚注',
'脚注hash脚注',
'脚注init脚注', #看这里
'脚注init_subclass脚注',
'脚注le脚注',
'脚注lt脚注',
'脚注ne脚注',
'脚注new脚注', #看这里
'脚注reduce脚注',
'脚注reduce_ex脚注',
'脚注repr脚注',
'脚注setattr脚注',
'脚注sizeof脚注',
'脚注str脚注',
'脚注subclasshook脚注']
重构脚注new脚注不一定我们不能够重构脚注new脚注参数,但我们也可以重构。
后面给出一个例证,这个例证的实现和没有重构的功能是一样的,因为它就是执行了默认的行为。
这个例证虽然没有功能性作用,但可以帮麦友们更高的帮助了解脚注new脚注的步骤:
class Person:
def 脚注new脚注(cls):
return object.脚注new脚注(cls)
def 脚注init脚注(self):
self.instance_method()
def instance_method(self):
print('success!')
maishu = Person()
重构脚注new脚注的或许精确的场合不一定我们不能够重构脚注new脚注参数,侧面给了一个没用的例证。但也有一些实际精确的情况,或许能够重构它。
我们想到 str, int, Unicode, tuple等是不可变异;也,这是在它们骨子里就决定了的。也就是在脚注new脚注的时候就定了。
如果我们就让要继承它们,实现可变异的字符串等,那就可以通过重构脚注new脚注让它们一鸣惊人。这里就不展开话说了。
总的来说,不建议重构脚注new脚注,除非你有很侧重的了解和过强的理由。
后背气滞血瘀能吃脉血康吗手术后吃什么身体恢复快
乐珠滴眼液的功效
牛皮癣医院
有什么方法可以治拉肚子
牙疼怎么止痛
气虚该怎么调理
血糖仪哪个牌子准确度高
肝斑怎么调理
艾得辛对类风湿效果好吗
上一篇: 中国地区“智”变
- 重大改变!这五位球星将更换后方,最佳中卫踢边路,两人成中锋
- 上海信念赵睿筹码曝光!二换一,20岁新星送广东,朱芳雨大获全胜
- 英冠第1轮前瞻:伯明翰兵强马壮,谢联盼延续上赛季末好状态
- 各大学去医院看病,现场背书可还行?老师:不要说自己是学医的
- 发帖分享:这才是男生喜欢的微胖身材
- 女牙医因户外活动照走红,高配置身材刷爆全网,我突然牙疼了!
- 法广:怎样治疗暴食症 比利时科学家可能找到新疗法
- 年龄最大、世界第四例艾滋病“治愈”症状或已出现
- 讲真,你先把这种东西不吃对,再谈减肥吧!
- 一周只打一次的降糖药,血糖高的人都能用吗?
- 喝下去的奶茶,是怎么替换成身上的肥肉的?
- 防止宫颈癌,HPV 2 价与 4 价疫苗防止效果一样
- 你是不是偶尔有这样尴尬的烦恼——瘙痒,这可能似乎4个问题......
- 刚刚!埇桥区外调整风险区外!
- 只见床上玩手机,鼻子和眼睛都是冲击下的“头号先锋”
- 一文读懂丨男人、女人、小儿尿频的在此之后
- 饶毅再行发文:如果尹烨要证明是卖真药,只需要一篇或两篇论文
- 李世民要给房玄龄纳妾,诞生一该词,成了所有女性的绰号
- 高中肄业生在维基百科编造百万字古俄罗斯史,三年才被发现
- 掌控人性的博弈法则,你需要知道这一点