__init__方法在類的一個對象被建立時,馬上運行。這個方法可以用來對你的對象做一些你希
望的 初始化 。注意,這個名稱的開始和結尾都是雙下劃線。
#!/usr/bin/python
# Filename: class_init.py
class Person:
def __init__(self, name):
self.name = name
def sayHi(self):
print 'Hello, my name is', self.name
p = Person('Swaroop')
p.sayHi()
# This short example can also be written as Person('Swaroop').sayHi()
輸出$ python class_init.py
Hello, my name is Swaroop
它如何工作
這里,我們把__init__方法定義為取一個參數name(以及普通的參數self)。在這個__init__里,
我們只是創建一個新的域,也稱為name。注意它們是兩個不同的變量,盡管它們有相同的名
字。點號使我們能夠區分它們。
最重要的是,我們沒有專門調用__init__方法,只是在創建一個類的新實例的時候,把參數包
括在圓括號內跟在類名后面,從而傳遞給__init__方法。這是這種方法的重要之處。
現在,我們能夠在我們的方法中使用self.name域。這在sayHi方法中得到了驗證。