top of page

הדפסות ב-PYTHON


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


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


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

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



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

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




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


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

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


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


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

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

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


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



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

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


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

דוגמה אחת כזאת היא הפרמטר end אשר מגדיר לפונקציה איזה תו אנחנו רוצים שיופיע בסוף ההדפסה. כברירת מחדל התו סופי מוגדר כ-'\n' - ירידת שורה. זאת הסיבה שכל הדפסה נוספת שתבצע תמיד תהיה בשורה חדשה. הגדרת ערך שונה לפרמטר 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 כפונקציה.




0 תגובות

Comments


bottom of page