在類中定義了__str__(self)
方法,那么當使用print
打印實例對象的時候,就會直接打印出在這個方法中return
的數據.
案列:
1 class Book: 2 3 def __init__(self, name, author, comment, state = 0): 4 self.name = name 5 self.author = author 6 self.comment = comment 7 self.state = state 8 9 def __str__(self): # 特殊函數__str__ 10 if self.state == 0: 11 status = '未借出' 12 else: 13 status = '已借出' 14 return '名稱:《%s》 作者:%s 推薦語:%s\n狀態:%s ' % (self.name, self.author, self.comment, status) 15 16 book1 = Book('像自由一樣美麗','林達','你要用光明來定義黑暗,用黑暗來定義光明') 17 # 傳入參數,創建實例對象 18 print(book1) 19 # 直接打印對象即可,不能寫成print(book1.__str__())
執行結果:
名稱:《像自由一樣美麗》,作者:林達,你要用光明來定義黑暗,用黑暗來定義光明
狀態:未借出