加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:在同一个实例上多次调用__init __()

发布时间:2021-01-17 12:39:26 所属栏目:Python 来源:互联网
导读:在创建对象时调用__init __()函数. 在创建对象后再次调用__init __()函数吗? instance = cls(p1=1, p2=2)# some codeinstance.__init__(p1=123, p2=234)# some more codeinstance.__init__(p1=23, p2=24) 为什么有人想在已经创建的对象上调用__init __()?

在创建对象时调用__init __()函数.
在创建对象后再次调用__init __()函数吗?

instance = cls(p1=1,p2=2)
# some code
instance.__init__(p1=123,p2=234)
# some more code
instance.__init__(p1=23,p2=24)

为什么有人想在已经创建的对象上调用__init __()?

好问题.我想重新初始化实例的字段.

解决方法

只要__init__用你想要获得的效果(无论是什么)进行编码就可以在一个对象上多次调用__init__.发生这种情况的典型情况(所以你最好代码__init__适当地使用 – )是当你的类的__new__方法返回一个类的实例时:这样会导致在返回的实例上调用__init__(对于第二个,或第二十分钟,如果您通过__new __!保持“回收”实例 – ).

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读