ויקיספר
hewikibooks
https://he.wikibooks.org/wiki/%D7%A2%D7%9E%D7%95%D7%93_%D7%A8%D7%90%D7%A9%D7%99
MediaWiki 1.47.0-wmf.16
first-letter
מדיה
מיוחד
שיחה
משתמש
שיחת משתמש
ויקיספר
שיחת ויקיספר
קובץ
שיחת קובץ
מדיה ויקי
שיחת מדיה ויקי
תבנית
שיחת תבנית
עזרה
שיחת עזרה
קטגוריה
שיחת קטגוריה
שער
שיחת שער
מדף
שיחת מדף
TimedText
TimedText talk
יחידה
שיחת יחידה
אירוע
שיחת אירוע
פייתון/פייתון גרסה 3/קונסולים בתוכנות שונות
0
31040
180557
2026-08-25T10:22:12Z
נתנאל שטרן
20955
יצירת דף עם התוכן "<!-- דף משנה של הספר פייתון/פייתון גרסה 3 -->[[פייתון/פייתון גרסה 3/עבודה אינטראקטיבית או קובץ אצווה|הפרק הקודם]] · [[פייתון/פייתון גרסה 3|תוכן העניינים]] · [[פייתון/פייתון גרסה 3/פתיחת פייתון באמצעות cmd|הפרק הבא]] ----'''קונסול פייתון''' מאפשר להקליד פקודה או ביטוי ולק..."
180557
wikitext
text/x-wiki
<!-- דף משנה של הספר פייתון/פייתון גרסה 3 -->[[פייתון/פייתון גרסה 3/עבודה אינטראקטיבית או קובץ אצווה|הפרק הקודם]] · [[פייתון/פייתון גרסה 3|תוכן העניינים]] · [[פייתון/פייתון גרסה 3/פתיחת פייתון באמצעות cmd|הפרק הבא]]
----'''קונסול פייתון''' מאפשר להקליד פקודה או ביטוי ולקבל תוצאה מידית. הקונסול מתאים לניסויים קצרים, לבדיקת רעיון ולחקירת ערכים בזמן פיתוח. תוכנית ארוכה, לעומת זאת, מומלץ לכתוב בקובץ בעל הסיומת <code>.py</code>, לשמור ולהריץ מחדש.
המראה המדויק של הקונסול משתנה בין תוכנות, אך עקרון העבודה דומה: סביבת העבודה מפעילה '''מפרש פייתון''' מסוים, שומרת את המשתנים בזיכרון ומציגה פלט או הודעת שגיאה.
== מטרות הלמידה ==
בסיום הפרק תוכלו:
* להבחין בין מסוף מערכת, קונסול פייתון ועורך קוד;
* לפתוח קונסול בכמה סביבות פיתוח נפוצות;
* לבדוק באיזה מפרש, גרסה ותיקיית עבודה הקונסול משתמש;
* לזהות תקלות שנגרמות מבחירת מפרש או מתיקיית עבודה שגויים;
* לבחור מתי להשתמש בקונסול ומתי בקובץ תוכנית.
== מושגים בסיסיים ==
{| class="wikitable"
!מושג
!משמעות
|-
|'''מפרש''' (interpreter)
|התוכנית שמבצעת את קוד פייתון.
|-
|'''REPL'''
|קיצור של Read–Evaluate–Print Loop: קריאת קלט, חישובו, הצגת התוצאה וחזרה להמתנה לפקודה הבאה.
|-
|'''קונסול''' או '''Shell'''
|חלון אינטראקטיבי שמחובר למפרש. בקונסול פייתון הרגיל מופיע הסימן <code>>>></code>.
|-
|'''מסוף''' (terminal)
|חלון פקודות של מערכת ההפעלה, שבו אפשר להפעיל את פייתון וגם תוכניות אחרות.
|-
|'''עורך קוד'''
|חלון לכתיבה ולשמירה של קובצי תוכנית. עורך אינו בהכרח מריץ את הקוד בעצמו.
|-
|'''IDE'''
|סביבת פיתוח משולבת הכוללת בדרך כלל עורך, הרצה, ניפוי שגיאות וקונסול.
|-
|'''Kernel'''
|תהליך שמבצע קוד עבור סביבת מחברות או קונסול מתקדם, למשל Jupyter או Spyder.
|}
== בדיקה ראשונה בכל קונסול ==
לאחר פתיחת קונסול, הריצו את הקוד הבא:<syntaxhighlight lang="python">
import os
import sys
print("Python:", sys.version)
print("Interpreter:", sys.executable)
print("Working directory:", os.getcwd())
</syntaxhighlight>שלוש השורות עונות על שאלות חשובות:
# איזו גרסת פייתון פועלת?
# מהו הנתיב המדויק של המפרש?
# מאיזו תיקייה התוכנית מחפשת קבצים יחסיים?
אם חבילה הותקנה אך <code>import</code> נכשל, השוו בין <code>sys.executable</code> בקונסול לבין המפרש שבו הופעלה ההתקנה.
== קונסול פייתון מתוך מסוף המערכת ==
זהו הקונסול הבסיסי ביותר, והוא אינו תלוי בסביבת פיתוח מסוימת.
ב-Windows אפשר לנסות:<syntaxhighlight lang="console">
py
</syntaxhighlight>או:<syntaxhighlight lang="console">
python
</syntaxhighlight>ב-macOS ובלינוקס הפקודה הנפוצה היא:<syntaxhighlight lang="console">
python3
</syntaxhighlight>לאחר ההפעלה יופיע בדרך כלל ה-prompt הבא:<syntaxhighlight lang="pycon">
>>> 2 + 3
5
>>> name = "דנה"
>>> name.upper()
'דנה'
</syntaxhighlight>הסימן <code>>>></code> מציין שהמפרש ממתין לפקודה חדשה. הסימן <code>...</code> מציין שהפקודה טרם הושלמה, למשל בתוך לולאה או הגדרת פונקציה:<syntaxhighlight lang="pycon">
>>> for number in range(3):
... print(number)
...
0
1
2
</syntaxhighlight>יש להזין שורה ריקה כדי לסיים בלוק רב־שורות בקונסול הרגיל.
ליציאה אפשר להקליד:<syntaxhighlight lang="pycon">
>>> exit()
</syntaxhighlight>אפשר גם להשתמש ב-<kbd>Ctrl</kbd>+<kbd>D</kbd> ב-macOS ובלינוקס, או ב-<kbd>Ctrl</kbd>+<kbd>Z</kbd> ולאחר מכן <kbd>Enter</kbd> ב-Windows.
== IDLE ==
IDLE היא סביבת פיתוח ולמידה שמגיעה עם התקנות רבות של Python. היא כוללת עורך וחלון בשם '''Python Shell'''.
=== פתיחת הקונסול ===
* ב-Windows חפשו '''IDLE''' בתפריט ההתחלה.
* אם התוכנית מותקנת אך קיצור הדרך אינו מופיע, נסו במסוף: <code>python -m idlelib</code>.
* בחלון העורך אפשר להריץ את הקובץ באמצעות '''Run → Run Module''' או בדרך כלל באמצעות <kbd>F5</kbd>.
הרצת קובץ גורמת ל-IDLE להפעיל מחדש את ה-Shell, ולכן משתנים מניסוי קודם עשויים להימחק. זוהי התנהגות מועילה: הקובץ נבדק בסביבה נקייה יותר.
=== מתי IDLE מתאימה? ===
* לימוד ראשוני בלי התקנת IDE גדול;
* ניסוי בפקודות קצרות;
* כתיבת קובץ קטן והרצתו;
* היכרות בסיסית עם debugger ונקודות עצירה.
== Visual Studio Code ==
Visual Studio Code הוא עורך קוד שניתן להרחיב. כדי לעבוד עם פייתון יש להתקין מפרש Python במחשב ואת ההרחבה הרשמית של Python ב-VS Code.
=== בחירת המפרש ===
פתחו את לוח הפקודות ובחרו '''Python: Select Interpreter'''. בחירה זו חשובה במיוחד כשיש במחשב כמה גרסאות או סביבה וירטואלית.
=== פתיחת REPL והרצת קוד ===
אפשר להשתמש באחת הדרכים הבאות:
* לפתוח את לוח הפקודות ולבחור '''Python: Start Native REPL''' או '''Python: Start Terminal REPL''';
* לפתוח Terminal פנימי ולהקליד <code>python</code> או <code>python3</code>;
* לבחור שורה או קטע בעורך ולהשתמש בפקודה '''Run Selection/Line in Python REPL''';
* להריץ קובץ שלם באמצעות '''Run Python File in Terminal'''.
אם הפלט שונה מן הצפוי, הריצו בקונסול את <code>sys.executable</code> ובדקו שהמפרש שנבחר הוא אכן מפרש המיזם.
== PyCharm ==
PyCharm היא סביבת פיתוח משולבת המיועדת לפייתון. לכל מיזם מוגדר מפרש, והוא יכול להיות מפרש מערכת, סביבה וירטואלית או סביבה מסוג אחר.
=== פתיחת הקונסול ===
בחרו '''Tools → Python Console'''. הקונסול מאפשר השלמת קוד, צפייה בהיסטוריה ובדיקת משתנים. אפשר גם לסמן קטע בעורך ולבחור '''Execute Selection in Python Console'''.
לפני התקנת חבילה או בדיקת <code>import</code>, בדקו את המפרש שמוגדר למיזם. קונסול של מיזם אחד אינו חייב להשתמש באותו מפרש של מיזם אחר.
=== קונסול לעומת Run ===
* '''Python Console''' שומר משתנים בין פקודות באותה הפעלה.
* '''Run''' מריץ קובץ לפי תצורת ההרצה של המיזם.
* '''Debug''' מריץ את הקוד תחת מנפה שגיאות ומאפשר לעצור בשורות שנבחרו.
== Spyder ==
Spyder נפוצה בעבודה מדעית ובניתוח נתונים. הקונסול שלה מבוסס בדרך כלל על IPython ומשולב עם חלונות כגון Variable Explorer ו-Plots.
=== עבודה בסיסית ===
* פתחו קונסול חדש מתפריט '''Consoles'''.
* הריצו פקודות בשורת הקלט של IPython.
* הריצו קובץ מן העורך באמצעות פקודת Run של Spyder.
* כדי למחוק את המצב שנשמר בזיכרון, השתמשו ב-'''Restart kernel''' או פתחו קונסול חדש.
קונסול IPython תומך בפקודות מיוחדות שמתחילות ב-<code>%</code>, אולם אלו אינן פקודות של שפת פייתון עצמה. קוד שאמור לעבוד מחוץ ל-Spyder עדיף לשמור ללא תלות בפקודות מיוחדות כאלה.
== Jupyter Notebook, JupyterLab ו-Google Colab ==
בסביבות מחברת הקוד מחולק ל'''תאים''' (cells). כל תא נשלח ל-kernel, והמשתנים נשמרים בזיכרון גם לאחר שהתא הסתיים.<syntaxhighlight lang="python">
# תא ראשון
price = 25
</syntaxhighlight><syntaxhighlight lang="python">
# תא שני
print(price * 2)
</syntaxhighlight>התא השני פועל רק אם התא הראשון כבר הורץ באותו kernel. לכן מחברת עלולה להציג תוצאה נכונה גם כאשר מריצים את התאים בסדר שאינו מופיע במסמך.
לפני מסירה או פרסום של מחברת, בצעו '''Restart Kernel and Run All''' או פעולה מקבילה. אם כל התאים פועלים מתחילתם ועד סופם, קל יותר לשחזר את התוצאה.
בסביבה מקוונת אין להדביק סיסמאות, אסימוני גישה או מידע אישי בתוך תא קוד. השתמשו במנגנון הסודות של השירות או במשתני סביבה, בהתאם לצורך.
== השוואה בין הסביבות ==
{| class="wikitable"
!סביבה
!סוג הקונסול
!יתרון עיקרי
!נקודה שיש לזכור
|-
|מסוף המערכת
|REPL רגיל
|זמין כמעט בכל התקנה ופועל בלי IDE
|יש לוודא איזו פקודת Python הופעלה
|-
|IDLE
|Python Shell
|פשוטה ומתאימה ללימוד ראשוני
|אינה תמיד מותקנת בחבילות Python מינימליות
|-
|VS Code
|Native REPL או Terminal REPL
|שילוב גמיש בין עורך, מסוף והרחבות
|יש לבחור Interpreter למיזם
|-
|PyCharm
|Python Console
|שילוב עם ניתוח קוד, השלמה ו-debugger
|כל מיזם עשוי להשתמש בסביבה אחרת
|-
|Spyder
|IPython Console
|נוח לנתונים, משתנים וגרפים
|ה-kernel שומר מצב עד שמפעילים אותו מחדש
|-
|Jupyter או Colab
|תאים המחוברים ל-kernel
|שילוב קוד, טקסט ותוצאות במסמך אחד
|סדר הרצת התאים עלול להיות שונה מסדר הופעתם
|}
== ההבדל בין ביטוי לפקודת print ==
בקונסול אינטראקטיבי, ערכו של ביטוי מוצג אוטומטית:<syntaxhighlight lang="pycon">
>>> 10 * 4
40
</syntaxhighlight>בקובץ תוכנית, ביטוי לבדו בדרך כלל אינו מוצג. יש להשתמש ב-<code>print</code>:<syntaxhighlight lang="python">
result = 10 * 4
print(result)
</syntaxhighlight>ב-Jupyter גם התא מציג בדרך כלל רק את תוצאת הביטוי האחרון. כדי להציג כמה ערכים באופן ברור, השתמשו ב-<code>print</code> או בפקודת תצוגה מתאימה.
== מצב שנשמר בזיכרון ==
אחת התקלות הנפוצות בקונסול היא שימוש במשתנה שנוצר קודם, אף שהוא אינו מוגדר בקובץ:<syntaxhighlight lang="pycon">
>>> tax = 0.17
>>> price = 100
>>> price * (1 + tax)
117.0
</syntaxhighlight>אם נשמור בקובץ רק את השורה האחרונה, נקבל <code>NameError</code>. קובץ תקין צריך להגדיר בעצמו את כל המשתנים הדרושים לו או לייבא אותם במפורש.
כאשר התנהגות הקונסול מבלבלת, הפעילו אותו מחדש והריצו את הקוד מתחילתו. ב-IDLE משתמשים ב-'''Restart Shell'''; ב-Spyder וב-Jupyter מפעילים מחדש את ה-kernel; ובמסוף רגיל יוצאים מפייתון ונכנסים שוב.
== תקלות נפוצות ==
=== ModuleNotFoundError למרות שהחבילה הותקנה ===
סביר שהחבילה הותקנה במפרש אחר. בדקו:<syntaxhighlight lang="python">
import sys
print(sys.executable)
</syntaxhighlight>במסוף המערכת התקינו דרך אותו מפרש:<syntaxhighlight lang="console">
python -m pip install package_name
</syntaxhighlight>בסביבה שבה הפקודה היא <code>python3</code>, השתמשו בהתאמה ב-<code>python3 -m pip</code>.
=== FileNotFoundError ===
נתיב יחסי מחושב מתיקיית העבודה הנוכחית, ולא בהכרח מן התיקייה שבה נמצא קובץ הקוד. בדקו:<syntaxhighlight lang="python">
from pathlib import Path
print(Path.cwd())
print(list(Path.cwd().iterdir()))
</syntaxhighlight>
=== הקוד הישן עדיין משפיע על התוצאה ===
הפעילו מחדש את ה-Shell או את ה-kernel, ואז הריצו את הקוד בסדר הנכון. טעינה חוזרת של קובץ אינה מבטיחה שכל המשתנים הישנים נמחקו.
=== הקונסול תקוע ===
ייתכן שהתוכנית מחכה לקלט, נמצאת בלולאה ארוכה או מבצעת פעולה איטית. נסו לעצור בעדינות באמצעות פקודת Interrupt של הסביבה או <kbd>Ctrl</kbd>+<kbd>C</kbd>. אל תסגרו בכוח לפני שבדקתם אם יש נתונים שטרם נשמרו.
== תרגול ==
=== תרגיל 1 — זיהוי הסביבה ===
פתחו שני קונסולים שונים והריצו בכל אחד:<syntaxhighlight lang="python">
import os
import platform
import sys
print(platform.python_implementation())
print(sys.version)
print(sys.executable)
print(os.getcwd())
</syntaxhighlight>השוו בין התוצאות. האם שני הקונסולים משתמשים באותו מפרש ובאותה תיקיית עבודה?
=== תרגיל 2 — מצב נקי ===
# הגדירו בקונסול את המשתנה <code>message = "שלום"</code>.
# ודאו שהפקודה <code>print(message)</code> פועלת.
# הפעילו מחדש את הקונסול או את ה-kernel.
# נסו שוב את <code>print(message)</code> והסבירו את התוצאה.
=== תרגיל 3 — קונסול לעומת קובץ ===
נסו את הביטוי <code>7 ** 2</code> בקונסול. לאחר מכן שמרו אותו לבדו בקובץ והריצו את הקובץ. תקנו את הקובץ כך שיציג את התוצאה.<div class="mw-collapsible mw-collapsed">
'''פתרון אפשרי'''<div class="mw-collapsible-content"><syntaxhighlight lang="python">
result = 7 ** 2
print(result)
</syntaxhighlight>בקונסול ערך הביטוי מוצג אוטומטית; בקובץ צריך לבקש פלט במפורש.
</div></div>
== מבחן קצר ==
=== שאלה 1 ===
מה משמעות REPL?
* א. שמירת קובץ בלבד
* ב. קריאה, חישוב, הדפסה וחזרה להמתנה
* ג. התקנת מערכת הפעלה
* ד. כלי לדחיסת קבצים
=== שאלה 2 ===
מה מציין בדרך כלל <code>>>></code>?
* א. שהמפרש ממתין לפקודה
* ב. שהקובץ נמחק
* ג. שחסרה רשת
* ד. שהקוד תמיד תקין
=== שאלה 3 ===
איזה ערך עוזר לזהות את המפרש הפעיל?
* א. <code>sys.executable</code>
* ב. <code>str.upper</code>
* ג. <code>list.sort</code>
* ד. <code>math.pi</code>
=== שאלה 4 ===
מדוע מחברת Jupyter עלולה לפעול בסדר אחד ולהיכשל לאחר Restart and Run All?
* א. התאים יכולים להסתמך על מצב שנוצר בהרצה קודמת
* ב. Jupyter אינה תומכת במשתנים
* ג. כל תא משתמש בשפה אחרת
* ד. פייתון אינה תומכת במחברות
=== שאלה 5 ===
מהי סיבה נפוצה ל-<code>ModuleNotFoundError</code> בתוך IDE?
* א. נבחר מפרש שונה מזה שבו החבילה הותקנה
* ב. המשתנה הוא מספר
* ג. המסך קטן מדי
* ד. הקוד כולל הערה
=== שאלה 6 ===
מתי עדיף קובץ <code>.py</code> על קונסול?
* א. כאשר רוצים לשמור, לבדוק ולהריץ שוב תוכנית ארוכה
* ב. כאשר מחשבים ביטוי חד־פעמי קצר בלבד
* ג. כאשר רוצים לבדוק את גרסת Python בלבד
* ד. לעולם לא
<div class="mw-collapsible mw-collapsed">
'''מפתח תשובות'''<div class="mw-collapsible-content">
# ב — REPL מבצעת Read, Evaluate, Print וחוזרת על הלולאה.
# א — זהו ה-prompt הרגיל של פייתון.
# א — <code>sys.executable</code> מכיל את נתיב המפרש הפעיל.
# א — ה-kernel שומר משתנים ותוצאות בזיכרון בין הרצות.
# א — IDE עשויה להיות מחוברת לסביבה אחרת.
# א — קובץ מתאים לקוד שנדרש לשמור ולשחזר.
</div></div>
== סיכום ==
כל הקונסולים מריצים פייתון, אך הם עשויים להשתמש במפרשים, בתיקיות עבודה ובמצבי זיכרון שונים. כאשר תוצאה אינה צפויה, בדקו תחילה את <code>sys.version</code>, את <code>sys.executable</code> ואת תיקיית העבודה. לניסוי קצר השתמשו בקונסול; לתוכנית שצריכה להיות ניתנת לשמירה, בדיקה ושחזור השתמשו בקובץ.
== לקריאה נוספת ==
* [https://docs.python.org/3/library/idle.html תיעוד IDLE הרשמי]
* [https://code.visualstudio.com/docs/python/run הרצת פייתון ב-Visual Studio Code]
* [https://www.jetbrains.com/help/pycharm/interactive-console.html קונסול פייתון ב-PyCharm]
* [https://docs.spyder-ide.org/current/panes/ipythonconsole.html קונסול IPython ב-Spyder]
* [https://docs.python.org/3/tutorial/interpreter.html שימוש במפרש פייתון]
----[[פייתון/פייתון גרסה 3/עבודה אינטראקטיבית או קובץ אצווה|הפרק הקודם]] · [[פייתון/פייתון גרסה 3|תוכן העניינים]] · [[פייתון/פייתון גרסה 3/פתיחת פייתון באמצעות cmd|הפרק הבא]]
805e6fnb7789itixay3zc5mmlpbfm57