ใน Java ถ้าฉันเรียก List.toString () มันจะเรียกเมธอด toString () โดยอัตโนมัติในแต่ละอ็อบเจกต์ภายในรายการ ตัวอย่างเช่นถ้ารายการของฉันมีวัตถุ o1, o2 และ o3 list.toString () จะมีลักษณะดังนี้:
"[" + o1.toString() + ", " + o2.toString() + ", " + o3.toString() + "]"
มีวิธีรับพฤติกรรมคล้ายกันใน Python หรือไม่? ฉันใช้เมธอด __str __ () ในคลาสของฉัน แต่เมื่อฉันพิมพ์รายการวัตถุโดยใช้:
print 'my list is %s'%(list)
ดูเหมือนว่า:
[<__main__.cell instance at 0x2a955e95f0>, <__main__.cell instance at 0x2a955e9638>, <__main__.cell instance at 0x2a955e9680>]
ฉันจะให้ python เรียก __str__ ของฉันโดยอัตโนมัติสำหรับแต่ละองค์ประกอบภายในรายการ (หรือ dict สำหรับเรื่องนั้น) ได้อย่างไร