Smart-World Surf

יחידה 1: מבוא לפייתון וסביבת עבודה

היכרות עם יסודות השפה והגדרת סביבת פיתוח.
משתניםסוגי נתוניםאופרטוריםסביבת Anaconda/Jupyter

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

יסודות השפה: משתנים וסוגי נתונים

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

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

הקצאת משתנים

הקצאת ערך למשתנה בפייתון מתבצעת באמצעות אופרטור ההשמה =. לדוגמה:

  • שם = "אליס"
  • גיל = 30
  • גובה = 1.75
  • האם_סטודנט = True

סוגי נתונים נפוצים

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

int (מספר שלם)

מייצג מספרים שלמים (חיוביים, שליליים או אפס) ללא נקודה עשרונית. לדוגמה: 10, -5, 0.

float (מספר עשרוני)

מייצג מספרים ממשיים עם נקודה עשרונית. לדוגמה: 3.14, -0.5, 100.0.

str (מחרוזת)

מייצג רצף של תווים (טקסט), מוקף בגרשיים בודדים (') או כפולים ("). לדוגמה: "שלום עולם", 'Python'.

bool (בוליאני)

מייצג ערך לוגי של אמת או שקר. הערכים האפשריים הם True או False (עם אות ראשונה גדולה). משמש להחלטות ובקרת זרימה.

אופרטורים בפייתון

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

אופרטור (Operator): סמל המורה למפרש הפייתון לבצע פעולה מסוימת על אחד או יותר ערכים.

סוגי אופרטורים עיקריים

  • אופרטורים אריתמטיים: משמשים לביצוע פעולות מתמטיות בסיסיות.
    • + (חיבור), - (חיסור), * (כפל), / (חילוק), % (שארית חלוקה), ** (חזקה), // (חילוק שלם).
  • אופרטורי השמה: משמשים להקצאת ערכים למשתנים.
    • = (השמה פשוטה), += (הוספה והשמה), -= (חיסור והשמה) ועוד.
  • אופרטורי השוואה: משמשים להשוואת שני ערכים ומחזירים ערך בוליאני (True או False).
    • == (שווה ל-), != (לא שווה ל-), < (קטן מ-), > (גדול מ-), <= (קטן או שווה ל-), >= (גדול או שווה ל-).
  • אופרטורים לוגיים: משמשים לשילוב או שינוי ביטויים בוליאניים.
    • and (וגם), or (או), not (לא).
ההבדל בין השמה לבדיקת שוויון (= ו-==): זהו אחד המקורות הנפוצים ביותר לטעויות בקרב מתחילים. אופרטור = משמש להקצאת ערך למשתנה (לדוגמה: x = 10). לעומת זאת, אופרטור == משמש לבדיקת שוויון בין שני ערכים (לדוגמה: x == 10 יחזיר True אם x אכן שווה ל-10, ו-False אחרת). בבחינה, שימו לב היטב להקשר שבו מופיעים אופרטורים אלו.

סביבת פיתוח: Anaconda ו-Jupyter Notebook

כדי לכתוב, להריץ ולנתח קוד פייתון ביעילות, אנו זקוקים לסביבת פיתוח מתאימה. בקורס זה, נשתמש ב-Anaconda וב-Jupyter Notebook (או Jupyter Lab).

Anaconda: הפצת פייתון ו-R פופולרית למדעי הנתונים, הכוללת מנהל חבילות (conda), סביבות וכלים רבים כגון Jupyter, Spyder ועוד. היא מפשטת את ההתקנה והניהול של ספריות וסביבות פיתוח.
Jupyter Notebook: יישום אינטרנטי המאפשר ליצור ולשתף מסמכים המכילים קוד חי, משוואות, ויזואליזציות וטקסט הסבר. הוא אידיאלי לניתוח נתונים אינטראקטיבי, אב טיפוס ולמידה.

מדוע לבחור ב-Anaconda ו-Jupyter?

  • ניהול חבילות וסביבות: Anaconda מאפשרת להתקין ולנהל בקלות ספריות פייתון רבות (כמו NumPy, Pandas, Matplotlib) וליצור סביבות וירטואליות מבודדות לפרויקטים שונים.
  • אינטראקטיביות: Jupyter Notebook מאפשרת להריץ קוד בתאים (cells) בודדים, לבדוק תוצאות באופן מיידי ולשלב קוד עם הסברים בפורמט Markdown, מה שהופך אותו לכלי מצוין ללמידה, ניסויים ושיתוף עבודה.
  • ויזואליזציה: היכולת להציג גרפים וטבלאות ישירות בתוך ה-Notebook הופכת אותו לכלי חזק לניתוח והצגת נתונים.

התקנה נכונה של Anaconda והיכרות עם ממשק ה-Jupyter Notebook הם צעדים ראשונים הכרחיים בקורס. ודאו שאתם מסוגלים להפעיל Notebook חדש, לכתוב בו קוד פייתון בסיסי (כמו הדפסת "Hello World") ולהריץ אותו בהצלחה.

שאלות לדיון

  • הסבירו את היתרונות של שימוש בסביבת Anaconda לניהול חבילות וסביבות פייתון, בהשוואה להתקנה ידנית של ספריות.
  • תארו מצב בו שימוש שגוי באופרטור = במקום == יכול להוביל לטעות לוגית בתוכנית, והסבירו כיצד הייתם מאתרים ומתקנים טעות כזו.
  • כיצד סוגי הנתונים int, float ו-str שונים זה מזה, ומתי נבחר להשתמש בכל אחד מהם? תנו דוגמאות.
  • הסבירו מדוע Jupyter Notebook נחשב לכלי אידיאלי ללמידה ולניתוח נתונים אינטראקטיבי, וציינו לפחות שני מאפיינים התומכים בכך.

נקודות לתשובת מודל

  • Anaconda: מפשטת התקנה וניהול של ספריות (conda), מונעת קונפליקטים בין גרסאות חבילות באמצעות סביבות וירטואליות, ומספקת כלים חיוניים מראש.
  • = vs ==: טעות נפוצה היא לכתוב if x = 10: במקום if x == 10:. הראשון יקצה 10 ל-x ויחזיר True (בפייתון, השמה מחזירה את הערך שהוקצה), מה שיוביל ללוגיקה שגויה. השני בודק שוויון. ניתן לאתר טעות כזו באמצעות בדיקות יחידה, הדפסת ערכים או שימוש ב-debugger.
  • סוגי נתונים:
    • int: מספרים שלמים (לדוגמה, ספירת פריטים, גיל).
    • float: מספרים עשרוניים (לדוגמה, מחיר, טמפרטורה, גובה).
    • str: טקסט (לדוגמה, שמות, כתובות, הודעות).
    • הבחירה תלויה בטבע המידע ובפעולות שרוצים לבצע עליו.
  • Jupyter Notebook: מאפשרת הרצת קוד בתאים, שילוב טקסט (Markdown) וקוד, הצגת פלטים וויזואליזציות באופן מיידי. תכונות אלו מקלות על ניסויים, תיעוד ושיתוף תהליכי עבודה.
מצאתם טעות או שחסר משהו?
הבאה ←
מבני בקרה ופונקציות