在python中定義類經常會用到__init__函式(方法)
__init__的理解:從文字理解比較困難,通過下面的例子能非常容易理解這個概念:1.首先需要理解的是,兩個下劃線開頭的函式是宣告該屬性為私有,不能在類的外部被使用或訪問。
2.__init__函式(方法)支援帶引數類的初始化,也可為宣告該類的屬性(類中的變數)。__init__函式(方法)的第乙個引數必須為self,後續引數為自己定義。
__init__()方法意義重大的原因有兩個。
第乙個原因是在物件生命週期中初始化是最重要的一步;每個物件必須正確初始化後才能正常工作。
第二個原因是__init__()引數值可以有多種形式。
例如我們定義乙個box類,有width, height, depth三個屬性,以及計算體積的方法:
#不使用__init__構建
class box:
def setdimension(self, width, height, depth):
self.width = width
self.height = height
self.depth = depth
def getvolume(self):
return self.width * self.height * self.depth
b = box()
b.setdimension(10, 20, 30)
print("不使用__init__呼叫的結果:",b.getvolume())
#我們在box類中定義了setdimension方法去設定該box的屬性,這樣過於繁瑣,
# 而用__init__()這個特殊的方法就可以方便地自己對類的屬性進行定義,__init__()方法又被稱為構造器(constructor)。
#使用__init__進行構建
class box1:
def __init__(self, width, height, depth):
self.width = width
self.height = height
self.depth = depth
def getvolume(self):
return self.width * self.height * self.depth
#直接對類進行傳值,不需要呼叫一次類,再對類裡面的方法進行傳值
b = box1(10, 20, 30)
print("使用__init__呼叫的結果:",b.getvolume())
python中為什麼要繼承object類
這裡先列出一段簡短的 coding utf 8 author zhengtong class person object name zhengtong if name main x person 通過這段 當我們例項化person 這個類的時候,那x就是乙個例項物件,整個過程python除了建立pe...
Python 類中為什麼要定義 init
我在今天以前,寫 一般是這樣的 計算長方形的周長和面積 def getperi a,b return a b 2 def getarea a,b return a b print getperi 4,5 print getarea 3,4 然後我發現大多數是這樣寫的 coding utf 8 先定義...
Python 類中為什麼要定義 init
學習並 1.不用init 方法定義類 定義乙個矩形的類,目的是求周長和面積。class rectangle def getperi self,a,b return a b 2 def getarea self,a,b return a b rect rectangle print rect.getp...