Python __init__用法及代碼示例- 純淨天空

文章推薦指數: 80 %
投票人數:10人

__在裏麵__. 這個 __init__ 方法類似於中的構造函數 C++ 和 Java 。

構造函數用於初始化對象 ... 當前位置:首頁>>代碼示例 >>用法及示例精選 >>正文 先決條件-Python類,物體,自我 每當使用Python完成麵向對象的編程時,我們通常都會遇到__init__我們通常不完全了解的方法。

本文介紹了主要概念__init__但在了解之前__init__需要一些先決條件。

__在裏麵__ 這個__init__方法類似於中的構造函數C++和Java。

構造函數用於初始化對象的狀態。

構造函數的任務是在創建類的對象時向類的數據成員初始化(分配值)。

與方法一樣,構造函數也包含在創建對象時執行的語句(即指令)的集合。

實例化類的對象後立即運行。

該方法對於您要對對象進行的初始化非常有用。

例: #ASampleclasswithinitmethod   classPerson:              #initmethodorconstructor        def__init__(self,name):           self.name=name              #SampleMethod        defsay_hi(self):           print('Hello,mynameis',self.name)          p=Person('Nikhil')   p.say_hi()   輸出: Hello,mynameisNikhil 了解代碼 在上麵的示例中,創建了一個人名Nikhil。

創建人時,“Nikhil”作為參數傳遞,該參數將傳遞給__init__初始化對象的方法。

關鍵字self表示類的實例,並將屬性與給定的參數綁定。

同樣,可以通過傳遞不同的名稱作為參數來創建Person類的許多對象。

例: #ASampleclasswithinitmethod   classPerson:              #initmethodorconstructor        def__init__(self,name):           self.name=name              #SampleMethod        defsay_hi(self):           print('Hello,mynameis',self.name)      #Creatingdifferentobjects      p1=Person('Nikhil')   p2=Person('Abhinav') p3=Person('Anshul')    p1.say_hi()   p2.say_hi() p3.say_hi() 輸出: Hello,mynameisNikhil Hello,mynameisAbhinav Hello,mynameisAnshul __init__繼承 繼承是一類從另一類繼承或繼承屬性的能力。

讓我們考慮以下示例,以了解__init__如何在繼承中工作。

#Pythonprogramto #demonstrateinitwith #inheritance    classA(object):     def__init__(self,something):         print("Ainitcalled")         self.something=something               classB(A):     def__init__(self,something):         #Callinginitofparentclass         A.__init__(self,something)         print("Binitcalled")         self.something=something            obj=B("Something") 輸出: Ainitcalled Binitcalled 因此,父類構造函數首先被調用。

但是在Python中,始終不必首先調用父類構造函數。

可以修改父類或子類的__init__方法的調用順序。

這可以簡單地通過在子類構造函數的主體之後調用父類構造函數來完成。

例: #Pythonprogramto #demonstrateinitwith #inheritance    classA(object):     def__init__(self,something):         print("Ainitcalled")         self.something=something               classB(A):     def__init__(self,something):         print("Binitcalled")         self.something=something         #Callinginitofparentclass         A.__init__(self,something)            obj=B("Something") 輸出: Binitcalled Ainitcalled 注意:要了解有關繼承的更多信息,請單擊此處。

注:本文由純淨天空篩選整理自nikhilaggarwal3大神的英文原創作品 __init__inPython。

非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。



請為這篇文章評分?