2016年8月21日 星期日

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方法中得到了驗證。

沒有留言:

張貼留言