官术网_书友最值得收藏!

2.3.1 在Python中編寫類

下面討論類的不同部分,以及實例化和使用對象的細節。代碼清單2-2顯示了Python中類的一般形式。

代碼清單2-2:Python中類的一般形式

class <ClassName>():
 
    def __init__(self, <optional param1>, ..., <optional paramN>):
        # any initialization code here
 
    # Any number of functions that access the data
    # Each has the form:
 
    def <functionName1>(self, <optional param1>, ..., <optional paramN>):
        # body of function
 
    # ... more functions
 
    def <functionNameN>(self, <optional param1>, ..., <optional paramN>):
        # body of function

類定義以class語句開頭,指定了想要給類起的名稱。關于類名的約定是使用駝峰大小寫,即每個單詞的第1個字母大寫(如LightSwitch)。在名稱的后面,可以添加一對圓括號(可選),但語句必須以冒號結尾,表示即將開始編寫類的主體(第10章在討論繼承時將介紹圓括號中可以包含什么)。

在類體內,定義任意數量的函數。所有這些函數是類的一部分,定義它們的代碼必須縮進。每個函數代表從該類創建的對象能夠執行的某種行為。所有函數必須有至少一個參數,按照約定,這個參數命名為self(第3章將解釋這個名稱的含義)。OOP函數有一個特殊的名稱——方法。

方法:

在類內定義的函數。方法始終至少有一個參數,它通常命名為self。

每個類中的第1個方法應該具有特殊的名稱__init__。每當從類創建一個對象時,這個方法會自動運行。因此,每當從類實例化一個對象時,如果想執行任何初始化代碼,那么很自然應該放在這個方法中。Python為這項工作保留了__init__這個名稱,并且必須采用這種寫法,在init(必須小寫)之前和之后各有兩條下畫線。在現實中,并不一定需要__init__()方法。但是,一般認為包含它并使用它來進行初始化是一種好的做法。

注意:

從類實例化對象時,Python會自動構造對象(分配內存)。特殊的__init__()方法稱為“初始化器”方法,你在該方法中為變量提供初始值(其他大部分OOP語言需要使用一個名為new()的方法,這個方法常常稱為構造函數)。

主站蜘蛛池模板: 清苑县| 当雄县| 汉寿县| 东宁县| 宜州市| 义乌市| 东明县| 涡阳县| 浦江县| 山阴县| 阳春市| 铁岭县| 图们市| 洱源县| 名山县| 城步| 离岛区| 白朗县| 舞阳县| 哈尔滨市| 宽甸| 北辰区| 铁岭县| 黎川县| 杂多县| 渭南市| 深水埗区| 龙川县| 无为县| 额尔古纳市| 张家界市| 隆安县| 新和县| 怀宁县| 米脂县| 龙山县| 承德县| 白银市| 青铜峡市| 黄梅县| 岑溪市|