להלן שאלת סגנון כתיבת קוד או כיצד עדיף לכתוב:
מבוא: בשפת c קיימת מלה שמורה לסוף קובץ
ככה שאפשר לעשות: כל עוד לא סוף קובץ תעשה משהו עם מה שיש שם…
עד כמה שידוע לי בפייתון זה לא קיים ולכן אם רוצים לקרוא שורה שורה מקובץ ושהתוכנה לא תצעק צריך:
- לספור את השורות בקובץ ואז לרוץ בלולאה עד למספר השורות
- עם הכלים שלמדנו במחברת זו ניתן לעשות: כל עוד נכון נסה לקרוא שורה מקובץ אחרת צא מלולאה
מה עדיף?
אולי יש שיטה עדיפה שלא ציינתי פה.
- יש גם כמובן את האפשרות של גנרייטור שיניב כל פעם שורה בקובץ אבל גם זה אני לא סגור עד הסוף איך הוא יודע “לעצור בזמן” מבלי לצעוק בסוף.
תודה
איל
בסופו של דבר אני מעוניין במשהוא כמו כל עוד לא סוף קובץ… תעשה…
שאלה לגבי break:
(מתוך הדוגמאות שם)
with open(filename, 'rb') as f:
while True:
buf = f.read(max_size)
if not buf:
break
process(buf)
האם עדיף:
with open(filename, 'rb') as f:
buf = True
while buf:
buf = f.read(max_size)
if buf:
process(buf)
כשהשורה האחרונה עלולה לא להתקיים רק פעם אחת בכל מקרה, כך שכתלות במקרה אולי לא חייבים גם את זה?
אם עדיף הצורה עם break, למה היא עדיפה?
Yam
#4
לטעמי כן. בפייתון 3.8 אפשר גם:
with open(filename, 'rb') as f:
while buf := f.read(max_size):
process(buf)
2 לייקים
מותר לנו כבר להשתמש בbreak?
Yam
#7
לא, אני לא ארצה שתשתמשו ב־break עד סוף הקורס.
אח"כ תעשו מה שאתם רוצים 
3 לייקים