การแสดงผลออบเจกต์เป็นสตริง
Python มีเมธอดพิเศษ 2 ตัวที่ใช้คืนค่าการแสดงผลออบเจกต์เป็นสตริง ได้แก่ __str__() ซึ่งถูกเรียกเมื่อใช้ print() หรือ str() กับออบเจกต์ และ __repr__() ซึ่งถูกเรียกเมื่อใช้ repr() กับออบเจกต์ แสดงออบเจกต์ในคอนโซลโดยไม่ผ่าน print() หรือเรียกแทน __str__() เมื่อยังไม่ได้กำหนด __str__() ไว้
__str__() ควรให้ผลลัพธ์ที่ "อ่านง่ายสำหรับผู้ใช้" เพื่ออธิบายออบเจกต์ ส่วน __repr__() ควรคืนค่านิพจน์ที่เมื่อประมวลผลแล้วจะได้ออบเจกต์เดิม เพื่อให้โค้ดทำซ้ำได้
ในแบบฝึกหัดนี้ จะทำงานต่อจากคลาส Employee ในบทที่ 2
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
class Employee:
def __init__(self, name, salary=30000):
self.name, self.salary = name, salary
# Add the __repr__() method
____
emp1 = Employee("Amar Howard", 30000)
print(repr(emp1))
emp2 = Employee("Carolyn Ramirez", 35000)
print(repr(emp2))