הדפסות ב-Python

בפוסט הקודם התעסקנו קצת עם ליטרלים בשורת הפקודה אבל קשה מאוד לכתוב תכניות בצורה כזאת. דרך קצת יותר פרקטית היא יצירת קובץ טקסט חיצוני שיכיל את הקוד שלנו ואז קריאה לקובץ הזה דרך שורת הפקודה.

כל מה שצריך לעשות הוא לפתוח קובץ טקסט פשוט ב-notepad או בעזרת עורך הטקסט המועדף עליכם ולשמור אותו עם סיומת py. במקום סיומת ה-txt. הסטנדרטית. אם פייתון מותקנת לכם על המחשב, תוכלו להריץ את הקוד בקובץ הטקסט באמצעות הפקודה python.
אם אתם רוצים לכתוב קוד בצורה אפילו יותר נוחה (דבר שאני מאוד ממליץ עליו) יש מגוון גדול של אפשרויות, החל מעורכי טקסט, סביבות פיתוח ייעודיות ואפילו אפליקציות המאפשרות לכם לכתוב ולהריץ קוד פייתון אונליין.

הבעיה היא שציון ליטרלים באופן, ובכן, ליטרלי כמו שעשינו ישירות בשורת הפקודה לא יעבוד בתכנית מסודרת. לכן כדי להציג מידע נצטרך להשתמש בהדפסות.

הדרך הפשוטה ביותר לבצע הדפסה היא באמצעות הפונקציה print. פונקציות מהוות אחד מהיסודות החשובים ביותר של השפה ונדבר עליהן עוד הרבה בהמשך. מה שחשוב לדעת הוא שהפונקציה print הכרחית כדי לבצע "הדפסה" של התוכן שאתם מעוניינים להציג ואת התוכן הזה היא מקבלת בתוך סוגריים.
פייתון היא שפה שרגישה לגודל האותיות ולכן חשוב להקפיד לכתוב את הפקודות באותיות קטנות בלבד. כשנשתמש בפקודת ההדפסה, מחרוזות יודפסו ללא גרשיים סביבן.

ממש כמו עם ליטרלים, אנחנו יכולים לבצע הדפסה של כמה מחרוזות בעזרת סימן ה-"+"

כמו שרואים בדוגמה האחרונה, רווחים הם תו לכל דבר ולכן אם נרצה ריווח בין שתי המחרוזות נצטרך לזכור לכלול אותו באחת מהן.

אם נרצה לחבר טקסט ומספר, לעומת זאת אנחנו עלולים להיתקל בבעיה:

פייתון לא יכולה לשרשר ביחד ערכים מטיפוסים שונים (מחרוזת טקסט ומספר). כדי להתגבר על הבעיה אנחנו יכולים להשתמש בפונקציית המרה (עליהן אכתוב בהמשך), או להכניס את המספר בתור מחרוזת טקסט ע"י הקפה שלו בגרשיים:

אופציה נוספת היא הדפסת ערכים נפרדים באמצעות פסיקים (במקום שרשור שלהם עם "+"). בצורה זו טיפוסי הערכים לא משנים, הם מודפסים "זה לצד זה" אבל התוצאה נראית זהה

יתרון נוסף בשיטה הזאת הוא שאנחנו לא צריכים לזכור לרווח בין הערכים השונים – הערכים יודפסו עם רווח אחרי כל ערך.

קיימים מספר צירופי תווים מיוחדים שנותנים לנו עוד קצת שליטה על הדרך שבה נוכל להדפיס ערכים, לדוגמה לוכסן הפוך (back slash) עם האות "n" יבצע ירידת שורה (new line)

באופן דומה אנחנו יכולים להשתמש בלוכסן עם האות "t" כדי לייצר ריווח של tab

פרמטרים נוספים לפונקציה print

כברירת מחדל, כל הדפסה שנבצע תיצור שורה חדשה

אנחנו יכולים לשנות את זה בעזרת פרמטר.
פרמטרים הם פיסות מידע שאנחנו יכולים לתת לפונקציה כדי לשנות את אופן הפעולה שלה או את התוצאה שהיא מחזירה. לפעמים הפרמטרים הם חובה והפונקציה תדרוש אותם כדי לבצע את הפעולה שלה בהצלחה (ל-print אין כאלה) ולפעמים הם רשות ונוכל להוסיף אותם רק כשנרצה.
הפרמטר end מגדיר לפונקציה איזה תו אנחנו רוצים שיופיע בסוף ההדפסה ובנוסף יבטל את ירידת השורה של ההדפסה הבאה ובכך יגרום לשתי השורות "להיצמד" ביחד.

אם אתם מעוניינים רק בביטול ירידת שורה, ללא הוספת טקסט כלשהו, אפשר להשאיר את הגרשיים ריקים. הפרמטר end לא יקבל שום ערך אך עדיין יבצע את הפעולה שלו.

כמו שכתבתי כמה פסקאות למעלה, ניתן להדפיס כמה ערכים ע"י שימוש בפסיקים ביניהם. פייתון תתרגם את הפסיקים האלה לרווחים כברירת מחדל

אנחנו יכולים לשנות את ברירת המחדל הזאת בעזרת הפרמטר sep (קיצור של seperator)

Python 2

בפייתון 2 print היא פקודה ולא פונקציה ולמרות שבדרך כלל כן אפשרי להשתמש בסוגריים אחרי print, בדרך כלל הדפסה בפייתון 2 תיראה כך:

print "I know kung fu."

הפרמטרים ייחודיים לפונקציות ולכן לא יעבדו בגרסה 2 למרות שאתם יכולים עדיין להשתמש בפסיקים בין הערכים כדי לייצר רווחים ופסיק אחרי הערך האחרון ללא שום דבר אחריו יצמיד את ההדפסה הבאה לנוכחית (ממש כמו מה שהפרמטר end עושה)

במידה וחשוב לכם להשתמש ב-print כפונקציה בכתיבת פייתון 2, ניתן לייבא אותה מפייתון 3 בעזרת הספרייה __future__ בצורה הבאה:

from __future__ import print_function

שורת הקוד הזאת תאפשר לכתוב print כפונקציה.