微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python class 初始化顺序

实例:

print('A')
class MyObject(object):
    print('B')
    def __init__(self,name):
        print('C')
        self.name = name
        print('D')
print('E')
my_object1 = MyObject('Hello')

输出

A
B
E
C
D

分析过程:

A: 毋庸置疑,第一行

B: 

class MyObject(object):

  是先执行MyObject?还是等到用的时候执行MyObject呢?

  答案是初始化MyObject,但不执行__init__方法, 也就是说等到用到的时候再执行初始化操作。

      所以看到打印出了B,没看到C 和 D.

E:  处理完MyObject class, 打印E

C:  

my_object1 = MyObject('Hello')

  实例化MyObject, 这个时候执行__init__,将实例my_object1的name属性赋值为‘Hello’。

D:

执行完__init__方法,返回。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐