2016-09-26 151 views
0

當我在python中初始化一個類時,它只被調用一次嗎?例如,如果我在init區域中編寫if語句。Python類初始化函數

class hi(): 
    def __init__(): 
     # bla bla bla 

它只是循環一次嗎?

+1

'__init__'只在每次實例化類時調用一次。說了你的問題並不完全清楚。如果語句從不在任何條件下循環。 –

+0

哦。抱歉我的問題含糊不清。不管怎麼說,還是要謝謝你。 – TJRelytS

回答

1

__init__是該類的構造函數。對於您創建的類的每個實例都調用一次。

class A(object): 
    def __init__(self): 
     print('__init__ called') 

a1 = A() # prints: __init__ called 
a2 = A() # prints: __init__ called 

順便說一句,這不是特定於pygame的東西,而是一般的python。

構造函數總是至少需要一個參數:self。它可以採取額外的論據。 self是正在構建的實例,您可以在構造函數中編寫它的初始化。

class A(object): 
    def __init__(self, value): 
     self.value = value 

a1 = A(17) 

print (a1.value) # prints: 17