使用Python的__repr__()函數定義物件的字串表示形式
在Python程式設計中,一個常見的需求是希望自訂物件的字串表示形式,方便程式的調試和輸出。 Python提供了__repr__()函數,可以用來定義物件的字串表示形式。
__repr__()是Python中的一個特殊方法,用於傳回物件的可列印字串表示形式。當我們在使用print()函數輸出一個物件時,實際上是呼叫了該物件的__repr__()方法。當我們在控制台直接輸出一個物件時,也是同樣的機制。
下面我們透過一個範例來示範如何使用__repr__()函數來定義物件的字串表示形式。
class Student: def __init__(self, name, age, score): self.name = name self.age = age self.score = score def __repr__(self): return f"Student(name={self.name}, age={self.age}, score={self.score})"
在上述程式碼中,我們定義了一個Student類,包含了學生的姓名、年齡和分數三個屬性,並在__repr__()函數中使用f-string來定義了物件的字串表示形式。這樣,當我們使用print()函數輸出一個Student物件時,就會得到類似"Student(name=Tom, age=18, score=90)"的字串。
接下來,我們試試看實例化一個Student對象,並輸出它的字串表示形式。
student = Student("Tom", 18, 90) print(student)
輸出結果為:
Student(name=Tom, age=18, score=90)
從結果中可以看出,我們成功地自訂了物件的字串表示形式,使得輸出更可讀且方便除錯。
除了__repr__()函數,Python還提供了__str__()函數,用於傳回物件的描述字串。與__repr__()不同的是,__str__()函數更多地用於提供人類可讀的字串,而__repr__()則更適合用於調試和開發過程中的輸出。
我們可以看到,使用__repr__()函數定義物件的字串表示形式是十分簡單且靈活的。透過自訂__repr__()函數,我們可以靈活地控制物件的輸出形式,並提供更有用的信息。
總結一下,使用Python的__repr__()函數可以方便地自訂物件的字串表示形式,提高程式碼的可讀性和偵錯效率。了解並合理使用__repr__()函數,對於編寫優秀的Python程式非常有幫助。
以上是使用Python的__repr__()函數定義物件的字串表示形式的詳細內容。更多資訊請關注PHP中文網其他相關文章!