פוסט
print(): הצגת פלט ב-Python
איך print() עובדת ב-Python 3: הדפסת כמה ערכים, הארגומנטים sep ו-end, הדפסה ל-stderr, והטעות הנפוצה של הדפסת None.
print() היא הפונקציה שמשתמשים בה הכי הרבה ב-Python. היא כותבת טקסט למסך, בדרך כלל לצורך דיבוג או כדי להציג תוצאה.
כל דוגמת קוד כאן הורצה עם Python 3.13, וההתנהגות נבדקה מול התיעוד הרשמי של print().
הדפסה של ערך אחד או כמה
print() מקבלת כמה ערכים שמופרדים בפסיקים. היא ממירה כל ערך לטקסט ומכניסה רווח בין הערכים:
print("Hello")
print("a", "b", "c")
Hello
a b c
כל קריאה ל-print() מסתיימת בשורה חדשה, ולכן הקריאה הבאה מתחילה בשורה חדשה. בלי ארגומנטים, print() מדפיסה שורה ריקה. כדי לשלב טקסט ומשתנים במחרוזת אחת משתמשים ב-f-string.
sep ו-end
שני ארגומנטים עם שם קובעים את המפריד ואת הסיום:
sepנכנס בין הערכים (ברירת מחדל: רווח).endנכנס אחרי הערך האחרון (ברירת מחדל:\n, ירידת שורה).
print("a", "b", "c", sep="-")
print("no newline", end=" ")
print("continues here")
print()
a-b-c
no newline continues here
לפי התיעוד, sep, end, file ו-flush “חייבים להינתן כארגומנטים עם שם”. לכן print("a", "b", "-") לא משתמשת במפריד חדש. המקף הוא ערך שלישי, והפלט הוא a b -.
לאן הפלט הולך
כברירת מחדל print() כותבת ל-standard output. הארגומנט file שולח את הפלט למקום אחר. שגיאות ואזהרות בדרך כלל נכתבות ל-standard error (sys.stderr), כדי להפריד אותן מהפלט הרגיל:
import sys
print("something went wrong", file=sys.stderr)
בטרמינל שני הזרמים נראים אותו דבר. ההבדל מתברר כשמפנים את הפלט לקובץ.
טעות נפוצה: print מחזירה None
print() מציגה את הערך, אבל לא מחזירה אותו. אם שומרים את התוצאה שלה, נשמר None:
x = print("hi")
print(x)
hi
None
אם רוצים שהערך יישאר במשתנה, שומרים אותו קודם ומדפיסים את המשתנה.
מה הלאה
בפוסט הבא: משתנים וטיפוסים.