Python構造函數:您需要知道的一切
本文將向您介紹一個有趣的主題,該主題既簡單又是編程的核心,我指的是Python構造函數。本文將介紹以下指針,
Python構造函數
Python中的構造函數是什么?
在Python中創建構造函數
參數化構造函數與非參數化構造函數之間的區別
在Python中的內置類函數中
內置的類屬性
那么,讓我們開始吧,
Python構造函數
如果您已經有一段時間編程,那么您可能會多次遇到Python這個名字。Python作為一種編程語言遵循對象導向,這意味著在平臺上創建的每個實例都被定義為一個對象。盡管Python中的大多數組件都在線提供了大量信息,但是不斷重復研究的一個主題是Python中的構造函數。因此,在本文中,我們將討論有關Python中構造函數的所有信息,如何使用它們以及它們為表帶來的好處。讓我們開始!
繼續閱讀有關Python構造函數的這篇文章,
Python中的構造函數是什么?
構造函數可以簡單地定義為一種特殊的方法或函數類型,可用于初始化類中各種成員的實例。
在Python中,有兩種不同類型的構造函數。
非參數化構造函數:Python中沒有參數的構造函數稱為非參數化構造函數。
參數化構造函數:預定義了參數的構造函數稱為參數化構造函數。
當我們在類內創建對象時就定義了構造函數。構造函數的存在還可以驗證是否存在足夠的資源,以便可以通過類的對象輕松執行啟動任務。
繼續閱讀有關Python構造函數的這篇文章,
在Python中創建構造函數
既然您已經熟悉了Python中構造函數的定義和類型,那么讓我們探索如何在Python中創建構造函數。
在Python中,如果需要創建構造,則需要使用__init__函數和或方法。您需要在實例化類時調用此方法。定義并調用__init__函數后,我們可以根據您的需要在創建類對象時傳遞任意數量的參數。Python中構造函數最常見的用法是初始化類的屬性。
注意:
您在Python中創建的每個類都必須存在一個構造函數才能正常運行,即使它是默認構造函數。
為了更好地理解此概念,請看下面的示例。
class Employee: def __init__(self,name,id): self.id = id; self.name = name; def display (self): print("ID: %d nName: %s"%(self.id,self.name)) emp1 = Employee("John",101) emp2 = Employee("David",102) #accessing display() method to print employee 1 information emp1.display(); #accessing display() method to print employee 2 information emp2.display();
當您運行上述程序時,輸出將如下所示。
ID:101
姓名:約翰
ID(標識號):102
姓名:大衛
繼續閱讀有關Python構造函數的這篇文章,
參數化構造函數與非參數化構造函數之間的區別
如以上定義中所述,參數化構造函數是具有預定義值的參數,而非參數化構造函數是未分配值的參數。在對用例進行編程時,取決于上下文,并且為了更好地理解它,請看以下示例。
class Student: #Constructor - non parameterized def __init__(self): print("This is non parametrized constructor") def show(self,name): print("Hello",name) student = Student() student.show("John")
上面是一個非參數構造函數的示例,其輸出如下。
這是非參數化的構造函數
你好約翰
class Student: #Constructor - parameterized def __init__(self, name): print("This is parametrized constructor") self.name = name def show(self): print("Hello",self.name) student = Student("John") student.show()
上面是參數化構造函數的示例,其輸出如下。
這是參數化的構造函數
你好約翰
繼續閱讀有關Python構造函數的這篇文章,
在Python中的內置類函數中
既然Python構造函數的基礎已經很清楚,讓我們探索Python中存在的各種內置類。
getattr(obj,name,default):此Python內置函數用于訪問類的屬性。
delattr(obj,name):如果需要刪除類中的特定屬性,請使用此內置函數。
setattr(obj,name,value):在某些情況下,如果您決定為特定屬性設置特定值,請使用Python內置的此函數。
hasattr(obj,name):最后但并非最不重要的一點,如果您需要查看特定對象是否包含屬性,請使用此函數。執行后,如果函數中存在屬性,則返回true。
要了解Python中內置類函數的概念,請看下面的代碼。
class Student: def __init__(self,name,id,age): self.name = name; self.id = id; self.age = age #creates the object of the class Student s = Student("John",101,22) #prints the attribute name of the object s print(getattr(s,'name')) # reset the value of attribute age to 23 setattr(s,"age",23) # prints the modified value of age print(getattr(s,'age')) # prints true if the student contains the attribute with name id print(hasattr(s,'id')) # deletes the attribute age delattr(s,'age') # this will give an error since the attribute age has been deleted print(s.age)
上面的輸出將是。
約翰
23
真正
AttributeError:“學生”對象沒有屬性“年齡”
繼續閱讀有關Python構造函數的這篇文章,
內置的類屬性
Python與內置的類函數一起提供了內置的類屬性,這些屬性有時會派上用場。某些最重要的內置類屬性如下所示。
__dict__:通過使用它,您可以查看包含有關類名稱空間信息的字典。
__name__:如果需要查看當前類的名稱,請使用此屬性。
__doc__:此屬性包含一個字符串,其中包含當前類的文檔。
__module__:如果需要訪問在其中定義了類的模塊,請使用此內置屬性。
__bases__:如果需要查看包含所有基類的元組,請使用此函數。
澄清所有內置類屬性的示例如下。
class Student: def __init__(self,name,id,age): self.name = name; self.id = id; self.age = age def display_details(self): print("Name:%s, ID:%d, age:%d"%(self.name,self.id)) s = Student("John",101,22) print(s.__doc__) print(s.__dict__) print(s.__module__)
這使我們到了本文關于Python構造函數的結尾。
AI IoT Linux Python 云計算
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。