Python 物件導向的__init__方法
在Python的類中有很多方法的名字有特殊的重要意義。現在我們將學習__init__方法的意義。
__init__方法在類的一個物件被建立時,馬上執行。這個方法可以用來對你的物件做一些你希望的 初始化 。注意,這個名稱的開始和結尾都是雙下劃線。
使用__init__方法
例:使用__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()
(源文件:code/class_init.py)
輸出
$ python class_init.py
Hello, my name is Swaroop
它如何工作
這裡,我們把__init__方法定義為取一個參數name(以及普通的參數self)。在這個__init__裡,我們只是新增一個新的域,也稱為name。注意它們是兩個不同的變數,儘管它們有相同的名字。點號使我們能夠區分它們。
最重要的是,我們沒有專門呼叫__init__方法,只是在新增一個類的新範例的時候,把參數包括在圓括號內跟在類名後面,從而傳遞給__init__方法。這是這種方法的重要之處。
現在,我們能夠在我們的方法中使用self.name域。這在sayHi方法中得到了驗證。
__init__方法在類的一個物件被建立時,馬上執行。這個方法可以用來對你的物件做一些你希望的 初始化 。注意,這個名稱的開始和結尾都是雙下劃線。
使用__init__方法
例:使用__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()
(源文件:code/class_init.py)
輸出
$ python class_init.py
Hello, my name is Swaroop
它如何工作
這裡,我們把__init__方法定義為取一個參數name(以及普通的參數self)。在這個__init__裡,我們只是新增一個新的域,也稱為name。注意它們是兩個不同的變數,儘管它們有相同的名字。點號使我們能夠區分它們。
最重要的是,我們沒有專門呼叫__init__方法,只是在新增一個類的新範例的時候,把參數包括在圓括號內跟在類名後面,從而傳遞給__init__方法。這是這種方法的重要之處。
現在,我們能夠在我們的方法中使用self.name域。這在sayHi方法中得到了驗證。
留言
張貼留言