2013-02-12 132 views
-3

我能夠理解什麼是構造函數,直到我看到傳入的參數爲止,爲什麼,如果構造函數是一個方法,一旦調用該對象就運行,人類是否有時間輸入所需的參數?瞭解爲什麼構造函數需要參數?

class test: 
    def __init__(self, arg1, arg2, arg3): 
     self.arg1 = arg1 
     self.arg2 = arg2 
     self.arg3 = arg3 

那麼基本上這些參數如何設置? (如果你沒有得到我的問題,請問我再說一次)

謝謝!

+2

人類有時間可以輸入任何其他函數/方法所需的參數嗎? – 2013-02-12 09:35:16

+0

你能改說嗎? – LtWorf 2013-02-12 09:35:39

+0

http://stackoverflow.com/questions/625083/python-init-and-self-what-do-they-do - 只是爲了確保你*「瞭解什麼構造函數是」* – root 2013-02-12 09:37:12

回答

0
test1 = test(1, 2, 3) 

構造函數就像任何舊函數一樣,並且將參數傳遞給它。一旦創建了對象

0

構造函數被調用,而不是一旦它被稱爲:

t = test (arg1, arg2, arg3) 
0

簡單 - 當你實例化類以後:

a = test(arg1, arg2, arg3) 

a現在是一個測試類,在初始化時設置了3個參數。

+1

@CasparWylie你不能有多個構造函數。 – Volatility 2013-02-12 09:38:31

+0

初始化對象時會調用__init__' - 根據定義您不能有多個'__init__'。 – TyrantWave 2013-02-12 09:40:05

+0

這些參數可能具有默認值(如果未設置,則將爲「無」)。如果你不手動設置它們,'def __init __(self,arg1 = 2,arg2 = 3)'將默認'arg1,2'到'2,3'。 – TyrantWave 2013-02-12 09:44:10

0

這背後的意圖是直接初始化傳遞給構造函數的一些變量。構造函數如前所述,稱爲:

t = test(arg1, arg2, arg3) 

然後,您可以爲您的類中傳遞的參數定義的值。

相關問題