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