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