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

 

Python tutuor


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM