לפי כל התיקונים עד היום במחברות, הבנתי שלא מומלץ להדפיס בפונקציה, אלא בתוכנית הראשית- לכן במחלקה יש לנו פונקצית קסם של str שממנה נדפיס מופע, עי שימוש ב print בתוכנית הראשית.
השאלה מה קורה אם יש לי רשימה של מופעים ואני רוצה להדפיס את כולם כחלק מהתוכנית (למשל להדפיס את כל ההודעות של משתמש בתרגיל צב שלוח 2).
זה מאלץ אותי להשתמש בפונקציה print במקום yield שהייתה ממומשת, אבל האם זה תקין?
האופציה של להדפיס התוכנית הראשית נראית לי מסורבלת, כי זה אומר שכל פקודה של קריאה אני חייב להצמיד אליה הדפסה מיד אחריה, וזה סרבול בקוד.
Yam
אין בעיה להדפיס בפונקציה אם זה הדבר היחיד שהיא מבצעת
of313
אז כנראה לא הבנתי משהו.
פונקציית הקסם str עובדת כאשר אני אשלח אליה אובייקט מסוג מסוים.
אבל אם יש לי רשימה של אובייקטים, איך אפשר להדפיס אותם בפקודה אחת, מבלי לעשות לולאה שתעבור אחד אחד ותדפיס?
כי אני מקבל כזה דבר:
a= po_box.search_inbox(‘b’,‘nice’)
print(list(a))
[<main.Message object at 0x000001FC8E936348>]
Yam
ההמלצה היא לולאת for על כל האובייקטים שאתה רוצה להדפיס. אם אתה צריך את זה בשביל עצמך כמתכנת אתה יכול לממש __repr__