構造方法和析構方法
阿新 • • 發佈:2020-12-22
一、構造方法
1、構造方法是Python類中的內建方法之一,它的方法名為__init__,在建立一個類物件時會自動執行,負責完成新建立物件的初始化工作。 2、只有一個引數的構造方法示例class Student: #定義Student類 def __init__(self): #定義構造方法 print('構造方法被呼叫!') self.name='未知' #將self對應物件的name屬性賦值為“未知” def PrintInfo(self): #定義普通方法PrintInfo print('姓名:%s'%self.name) #構造方法被呼叫! 姓名:未知 3、帶預設引數的構造方法示例輸出姓名資訊 if __name__=='__main__': stu=Student() #建立Student類物件stu,自動執行構造方法 stu.PrintInfo() #通過stu物件呼叫PrintInfo方法
class Student: #定義Student類 def __init__(self,name='未知'): #定義構造方法 print('構造方法被呼叫!') self.name=name #將self對應物件的name屬性賦為形 #參name的值構造方法被呼叫! 構造方法被呼叫! 姓名:未知 姓名:李曉明 二、析構方法 1、析構方法是類的另一個內建方法,它的方法名為__del__def PrintInfo(self): #定義普通方法PrintInfo print('姓名:%s'%self.name) #輸出姓名資訊 if __name__=='__main__': stu1=Student() #建立Student類物件stu1,自動執行構 #造方法 stu2=Student('李曉明') stu1.PrintInfo() #通過stu1物件呼叫PrintInfo方法 stu2.PrintInfo() #通過stu1物件呼叫PrintInfo方法
class Student: #定義Student類 def __init__(self,name): #定義構造方法 self.name=name #將self對應物件的name屬性 #賦值為形參name的值 print('姓名為%s的物件被建立!'%self.name) def __del__(self): #定義析構方法 print('姓名為%s的物件被銷燬!'%self.name) def func(name): stu=Student(name) #建立Student類物件stu if __name__=='__main__': stu1=Student('李曉明') #建立Student類物件stu1 stu2=Student('馬紅') #建立Student類物件stu2 stu3=stu2 del stu2 #使用del刪除stu2物件 func('張剛') #呼叫func函式 del stu3 #使用del刪除stu3物件 stu4=Student('劉建') #建立Student類物件stu4姓名為李曉明的物件被建立! 姓名為馬紅的物件被建立! 姓名為張剛的物件被建立! 姓名為張剛的物件被銷燬! 姓名為馬紅的物件被銷燬! 姓名為劉建的物件被建立! 姓名為李曉明的物件被銷燬! 姓名為劉建的物件被銷燬! 注意:如果多個變數對應同一片記憶體空間,則只有這些變數都刪除後才會銷燬這片存空間中所儲存的物件,也才會自動執行析構方法。