下面会输出什么呢:
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__方法,返回。