Python是當(dāng)今業(yè)界最流行的編碼平臺之一。從業(yè)余愛好者到專業(yè)人士,每個人都使用Python編寫代碼并制作用于移動和Web的應(yīng)用程序。作為這樣一個通用平臺,有些方面在用戶中還不太為人所知。其中最重要的一項(xiàng)是Init In Python。本文將幫助您探索這一概念,并詳細(xì)遵循以下指示,
用Python初始化初始化功能簡介如果您已經(jīng)使用Python一段時間了,那么您將很清楚Python是一種面向?qū)ο蟮木幊陶Z言。這基本上意味著您在Python環(huán)境中創(chuàng)建的所有內(nèi)容都被稱為對象。現(xiàn)在,在我們開始探索有關(guān)Python中的__init__函數(shù)的更多信息之前,讓我們先了解一下基礎(chǔ)知識。 類 Python中的類是組合在一起的一個或多個不同元素的類別或集合,它們彼此具有一個或多個相似性,但在類型,質(zhì)量和種類上卻與其他類有所不同。用技術(shù)術(shù)語,我們可以將Python中的類定義為具有相同或精確行為的單個對象的藍(lán)圖。 目的 Python中的對象是類的一個實(shí)例,可以對其進(jìn)行編程以執(zhí)行該類中已定義的功能。 自己 Python中的self in關(guān)鍵字用于類中的所有實(shí)例。通過使用self關(guān)鍵字,可以輕松訪問類中定義的所有實(shí)例,包括其方法和屬性。 在里面 __init__是Python中保留的方法之一。在面向?qū)ο蟮木幊讨?,它被稱為構(gòu)造函數(shù)。當(dāng)從類創(chuàng)建對象時,可以調(diào)用__init__方法,并且需要訪問權(quán)限以初始化類的屬性。 在里面 __init__是Python中保留的方法之一。在面向?qū)ο蟮木幊讨?,它被稱為構(gòu)造函數(shù)。當(dāng)從類創(chuàng)建對象時,可以調(diào)用__init__方法,并且需要訪問權(quán)限以初始化類的屬性。 在Python中使用init從上面共享的__init__的定義中,您現(xiàn)在對該方法的確切功能有了一些了解。為了進(jìn)一步闡明這個概念,讓我們看一個例子。 #1范例 目的:用Python編寫一個名為“ NFS”的賽車游戲。 解決方案:如果要使用Python命名為“ NFS”來創(chuàng)建賽車游戲,則需要創(chuàng)建的基本對象之一是單個汽車。您在游戲中創(chuàng)建的每輛汽車都將具有不同的屬性,例如顏色,速度等,以及換擋,加速,折斷等方法。 當(dāng)您將此概念編碼到Python解釋器中時,它應(yīng)該看起來像這樣。 class Car(object): """ blueprint for car """ def __init__(self, model, color, company, speed_limit): self.color = color self.company = company self.speed_limit = speed_limit self.model = model def start(self): print("started") def stop(self): print("stopped") def accelarate(self): print("accelarating...") "accelarator functionality here" def change_gear(self, gear_type): print("gear changed") " gear related functionality here" Now that we have created the objects, let’s move on to create the individual cars in the game. maruthi_suzuki = Car("ertiga", "black", "suzuki", 60) audi = Car("A6", "red", "audi", 80) 在上面的示例中,我們創(chuàng)建了兩種不同的汽車模型;一個是鈴木Ertiga,另一個是奧迪A6 一旦成功創(chuàng)建了這些對象,我們就可以使用__init__方法進(jìn)行初始化,從而為下一步做準(zhǔn)備。 在此示例中,我們還可以利用self方法表示類的不同實(shí)例,并將屬性與給定的參數(shù)綁定在一起。使用self方法將使我們基本上可以訪問在類中創(chuàng)建的屬性和方法。 #2范例 目的:找出具有寬度(b = 120),長度(l = 160)的矩形區(qū)域的開發(fā)成本。1平方米的成本是2000 INR。 解決方案:牢記先前示例中共享的步驟,此特定示例的代碼如下所示。 class Rectangle: def __init__(self, length, breadth, unit_cost=0): self.length = length self.breadth = breadth self.unit_cost = unit_cost def get_perimeter(self): return 2 * (self.length + self.breadth) def get_area(self): return self.length * self.breadth def calculate_cost(self): area = self.get_area() return area * self.unit_cost # breadth = 120 cm, length = 160 cm, 1 cm^2 = Rs 2000 r = Rectangle(160, 120, 2000) print("Area of Rectangle: %s cm^2" % (r.get_area())) print("Cost of rectangular field: Rs. %s " %(r.calculate_cost())) 如前面的示例所述,self方法表示類的實(shí)例和屬性。如果仔細(xì)研究,您會發(fā)現(xiàn)我們已經(jīng)使用了self.length方法來導(dǎo)出屬性length的值。屬性長度已經(jīng)綁定到該類中,并且我們使用self方法來表示同一類中的對象。 我們還使用了def get_area(self):方法作為上述代碼中的參數(shù)。這是什么意思,每次我們調(diào)用該方法時,它都會自動傳遞第一個參數(shù)以及該方法中的其他參數(shù)。盡管乍看之下這種自動化看起來很小,但從長遠(yuǎn)來看,它將節(jié)省大量時間并提高效率。 為了進(jìn)一步闡明這一討論,請看下面的示例。 r =矩形(160,120,2000) 注意:“ r”是類外部對象的表示,“ self”是類內(nèi)部對象的表示。 |
|