הדפסות ב-Python

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Python 3

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

print (Litaral or Expression)

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

from __future__ import print_function

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

אופציה נוספת לבצע הדפסות היא באמצעות הספרייה sys באופן הבא:

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