Python __init__用法及代碼示例- 純淨天空
文章推薦指數: 80 %
__在裏麵__. 這個 __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。
非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
延伸文章資訊
- 1python 物件導向疑問 - iT 邦幫忙
class Dog(): def __init__(self, name, age): # 設定物件本身(self)屬性(.name/age)為 ... 在python中,使用者對於屬性和方法是...
- 2Python中__init__的用法和理解- DuKe渡客 - 博客园
在Python中定义类经常会用到__init__函数(方法),首先需要理解的是,两个下划线开头的函数是声明该属性为私有,不能在类的外部被使用或访问。
- 3Python 類class 中__init__ 函式以及引數self - 程式人生
Python 類class 中__init__ 函式以及引數self ... 3.init函式(方法)的第一個引數必須是self(self為習慣用法,也可以用別的名字),後續引數則可以 ...
- 4一文搞懂python中的__init__的意思及使用场景
__init__普通用法. init只是用来初始化值,但都需要新定义方法来返回这个参数!!! class ClassName(object): def __init__(self, ...
- 5[Python] CLASS(類別) + __init__ 用法
__init__ import os import sys import copy from functools import reduce #物件導向的程式設計 ! ''' 接下來,來介紹一個...