__init__方法在類的一個(gè)對(duì)象被建立時(shí),馬上運(yùn)行。這個(gè)方法可以用來對(duì)你的對(duì)象做一些你希
望的 初始化 。注意,這個(gè)名稱的開始和結(jié)尾都是雙下劃線。
#!/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__方法定義為取一個(gè)參數(shù)name(以及普通的參數(shù)self)。在這個(gè)__init__里,
我們只是創(chuàng)建一個(gè)新的域,也稱為name。注意它們是兩個(gè)不同的變量,盡管它們有相同的名
字。點(diǎn)號(hào)使我們能夠區(qū)分它們。
最重要的是,我們沒有專門調(diào)用__init__方法,只是在創(chuàng)建一個(gè)類的新實(shí)例的時(shí)候,把參數(shù)包
括在圓括號(hào)內(nèi)跟在類名后面,從而傳遞給__init__方法。這是這種方法的重要之處。
現(xiàn)在,我們能夠在我們的方法中使用self.name域。這在sayHi方法中得到了驗(yàn)證。