Python物件導向中init del和str方法

2021-09-19 09:37:10 字數 960 閱讀 3117

應用場景:

__init__:改造初始化方法,可以讓建立物件更加靈活

__del__:如果希望在物件被摧毀前,再做一些事情,可以考慮一下__del__方法

生命週期:

乙個物件從呼叫類名()建立,生命週期開始

乙個物件的__del__方法一旦被呼叫,生命週期結束

在物件的生命週期內,可以訪問物件型別,或者讓物件呼叫方法

__str__方法必須返回乙個字串

案例**:

class cat:

def __init__(self,new_name):

print("這是乙個初始化方法")

# self.屬性名 = 屬性的初始值

# self.name="tom"

self.name = new_name

def __del__(self):

print("%s 走了" % self.name)

def __str__(self):

#必須返回乙個字串

return "我是[%s]" % self.name

def eat(self):

print("%s 愛吃魚" % self.name)

#使用類名()建立物件的時候,會自動呼叫初始化方法 __init__

tom=cat("tom")

print(tom.name)

print(tom)

# del 關鍵字可以刪除乙個物件

del tom

lazy_cat=cat("大懶貓")

print(lazy_cat)

lazy_cat.eat()

輸出結果:

這是乙個初始化方法

tom我是[tom]

tom 走了

這是乙個初始化方法

我是[大懶貓]

大懶貓 愛吃魚

大懶貓 走了

Python學習 物件導向 init

init 方法 class phone 魔術方法之一 名字 def init self print init phone類裡面的方法 call defcall self print price phone1 phone 輸出 init 底層實現流程 1.phone1 phone 利用類建立物件,讀到...

物件導向之 init

class student object stu school hnie stu1 obj.stu name featherwit stu1 obj.dict stu name featherwit stu1 obj.stu age 18 stu1 obj.dict stu age 18 stu1 ...

027 Python物件導向的 init

init 魔術方法 構造方法 觸發時機 例項化物件,初始化的時候觸發 功能 為物件新增成員 引數 引數不固定,至少乙個self引數 返回值 無 基本用法,至少含有乙個引數 class myclass def init self self.name chris 例項化物件 obj myclass pr...