Python中特殊函數__str__()


在類中定義了__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__())

執行結果:

名稱:《像自由一樣美麗》,作者:林達,你要用光明來定義黑暗,用黑暗來定義光明

狀態:未借出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM