2013-05-28 28 views
0

我在學習Django,並明白__init__()函數用於從某個類構造對象。但是,我也看到一些沒有__init__()類函數的類代碼,所以我的問題是所有類真的需要__init__()函數?如果我對這個功能的理解有任何問題,你也可以糾正我。謝謝。如果你不這樣做Django中的每個類都必須具有函數__init __()?

>>> class MyInterestingClass(object): 
    def __init__(self, name): 
     print 'Initialised as {}'.format(name) 
     self.name = name 

>>> i = MyInterestingClass('Mona') 
Initialised as Mona 
>>> i.name 
Mona 

+0

不,它不是。如果你不指定一個,它會使用默認的'__init __()'函數。自己試試 – karthikr

+0

Okie,謝謝Karthikr – Mona

回答

0

Class objects

退房文檔的__init__()函數創建對象時,稱爲:

>>> class MyBoringClass(object): 
    def __init__(self): 
     print 'Being initialised!' 

>>> b = MyBoringClass() 
Being initialised! 

它也可以接受參數需要它,然後不要使用它。

順便說一句,Django是一個用Python編寫的web框架 - __init()__來自Python。

相關問題