zoukankan      html  css  js  c++  java
  • 【7.4】__new__和__init__的区别

     1 #!/user/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # __new__ 在 __init__ 之前执行
     4 # __new__ 是用来控制对象的生成过程, 在对象生成之前
     5 # __init__ 是用来完善对象的
     6 # 如果__new__方法不返回对象, 则不会调用__init__方法
     7 
     8 
     9 class User:
    10     def __new__(cls, *args, **kwargs):
    11         print('in new')
    12         return super().__new__(cls)
    13 
    14     def __init__(self, name):
    15         print('in init')
    16         self.name = name
    17 
    18 
    19 if __name__ == '__main__':
    20     user = User('zy')
    21     print(user.name)
    in new
    in init
    zy
    

      

  • 相关阅读:
    毕设进度28
    任务27
    任务26
    任务25
    任务24
    第二次冲刺
    课堂作业-搜狗输入法
    课堂作业-寻找水王
    博客花园典型用户和场景
    第十天
  • 原文地址:https://www.cnblogs.com/zydeboke/p/11265653.html
Copyright © 2011-2022 走看看