物件導向魔術方法之 str

2022-06-07 13:42:12 字數 1181 閱讀 4699

型別判斷要使用type或isinstance, 並不能通過判斷print輸出是否帶引號來判斷輸出值的型別。
str()與repr()都是python中的內建函式,是直接用來格式化字串的函式;

而__str__與__repr__ 是在類(物件)中對類(物件)本身進行字串處理。 注意:__repr__在互動式python環境中產生作用

__str__:返回乙個可以用來表示物件的可列印的友好的字串。

存在下面三種情況:

對字串,返回本身 

沒有引數,則返回空字串

對類,可通過__str__() 成員控制其行為。該成員不存在,則使用其 __repr__() 成員

class person:

def __init__(self, name, age):

self.name = name

self.age = age

# def __str__(self):

# return self.name

p = person('tom', 19)

print(p)

單純列印物件名稱,出來的是乙個位址,位址對於開發者來說沒有太大意義

如果想在列印物件名的時候,能夠給開發者更多一些資訊量

class person:

def __init__(self, name, age):

self.name = name

self.age = age

def __str__(self):

return '姓名是:' + self.name + ',年齡:' + str(self.age)

p = person('tom', 19)

print(p)

觸發時機:列印物件名時,自動觸發去呼叫__str__裡面的內容

注意:一定要在__str__方法中新增return, return後面的內容就是列印物件看到的內容

總結:魔術方法:普通方法需要呼叫!而魔術方法是在特定時刻自動觸發。

重點:__init__(建立完空間後,呼叫的第乙個方法),__str__

了解:__new__    作用:開闢空間

__del__      作用:沒有指標引用的時候會呼叫

__call__      作用:想不想將物件當成函式用

php 物件導向之 魔術方法

php 魔術方法 php 模式方法 描述 需要在類中定義魔術方法 construct destruct tostring 當物件被當作string使用時,這個方法會被自動呼叫。如 public function tostring echo myobj invoke 當物件被當成方法是,這個方法會自動...

物件導向魔術方法

特別的方法 在特定的時機,完成自動呼叫的一些物件方法 construct 例項化過程中 初始化物件操作 destruct 物件被銷毀的過程中,釋放物件棧占用的額外資源 收尾性工作 clone 轉殖物件,重新初始化一下轉殖出來的新物件 tostring 物件轉換為字串 set get unset ca...

PHP物件導向 魔術方法

get name 觸發時機 當呼叫乙個不訪問的成員屬性的時候,會自動觸發,可以利用這個方法來完成對不可呼叫的屬性進行呼叫,但是不能設定值 set name,value 觸發時機 當給乙個不可訪問的成員屬性賦值的時候,會自動觸發這個方法,可以利用這個方法完成對不可以訪問的屬性進行賦值 isset na...