שאלה בסיסית – פקודת פרינט

היי,

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

תודה רבה!

לייק 1

מצטרף לשאלה במחברת 3 יש תרגילי חשבון שנדפסים גם בלי print.

היי ,

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

לצורך הדוגמא:
a = “Hello World” # assign Hello world to a,
אבל אם לא יהיה לנו בהמשך
print(a)
בעצם לא נקבל את
Hello world
אל המסך.

מקווה שזה ברור, אם לא אז מישהו שמסביר טוב ממני ינסה לעזור מאמין

לייק 1

אתה יכול בבקשה לצרף דוגמא של מקום שבוא אתה מקבל פלט בלי פרינט ?

כל התרגילים האלו:

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

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

2 לייקים

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

דוגמא:
1 + 1
יציג כלום

לעומת זאת
print (1+1)
יציג 2

3 לייקים

זה נושא מבלבל מאוד ושאלה מצוינת, אני אנסה לעשות קצת סדר.

הסביבה שבה אנחנו עובדים כרגע נקראת “מפרש אינטרקטיבי” או “interactive interpreter”, והיא סביבה שמטרתה לעזור למתכנתים להבין איך דברים בפייתון מתנהגים ולבחון תוצאות של דברים באופן זריז.
כשאנחנו במצב של מפרש אינטרקטיבי, המפרש מסתכל על כל יחידה שהרצנו (במקרה של jupyter notebook – תא), ומנסה למצוא את “הערך הסופי” שלו, או את התוצר (התוצאה) שיוצאים מאותו “דבר שהרצנו”.
כשהוא מוצא את אותה “תוצאה סופית” הוא מציג אותה למשתמש. ובמקרה של jupyter notebook – ליד הכיתוב האדום Out[number].

יש לסיפור הזה שני חסרונות מרכזיים:

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

אם יש עוד שאלות בנושא אשמח להרחיב.

4 לייקים

היי, הנה דוגמא.

היי,

תודה על התשובה המהירה!

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

תודה.

יש סביבות שונות לפיתוח מערכות גדולות, תוכלו לקרוא על VSCode, PyCharm או לקשוחים באמת – על Vim :slight_smile:
אנחנו נגיע גם לזה במסגרת הקורס, אבל יש לנו עוד קצת זמן :slight_smile:

ה־Interactive interpreter משמש גם מתכנתים מנוסים מאוד כשהם עושים ניסויים.
כשאני רוצה להבין איך פייתון תתנהג במקרה מסוים, או מה תהיה התוצאה של ביטוי מסוים, אני פותח אינטרפרטר ובודק שם.
כשנגיע לכתיבת תוכנות של מאות שורות, תמיד נעדיף לבדוק בזריזות את תוצאת הביטוי ב־Interpreter ולא להריץ את התוכנה כל פעם שנרצה לבדוק משהו קטן.

2 לייקים