实例:
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__方法,返回。