ברוכים הבאים ליחידת הלימוד הראשונה בקורס "תכנות וניתוח נתונים בשפת פייתון" (HOWARDUN-EQ-20) באוניברסיטת הווארד. יחידה זו, "מבוא לפייתון וסביבת עבודה", היא אבן יסוד קריטית להצלחתכם בקורס. נלמד את עקרונות השפה הבסיסיים ביותר, נכיר את סוגי הנתונים המרכזיים, נבין כיצד לבצע פעולות שונות באמצעות אופרטורים, ונגדיר את סביבת הפיתוח שתשמש אותנו לאורך הסמסטר. הבנה מעמיקה של נושאים אלו חיונית לא רק לכתיבת קוד פונקציונלי, אלא גם לחשיבה חישובית נכונה ולפתרון בעיות, שהם ליבת הקורס ומבחניו.
יסודות השפה: משתנים וסוגי נתונים
פייתון היא שפה אינטואיטיבית וקלה ללמידה, אך כמו כל שפה, יש לה כללים בסיסיים שיש להכיר. בבסיס כל תוכנית עומד הרעיון של אחסון ועיבוד מידע. כאן נכנסים לתמונה משתנים וסוגי נתונים.
הקצאת משתנים
הקצאת ערך למשתנה בפייתון מתבצעת באמצעות אופרטור ההשמה =. לדוגמה:
שם = "אליס"גיל = 30גובה = 1.75האם_סטודנט = True
סוגי נתונים נפוצים
פייתון תומכת במגוון רחב של סוגי נתונים. הנה ארבעה מהנפוצים והבסיסיים ביותר:
int (מספר שלם)
מייצג מספרים שלמים (חיוביים, שליליים או אפס) ללא נקודה עשרונית. לדוגמה: 10, -5, 0.
float (מספר עשרוני)
מייצג מספרים ממשיים עם נקודה עשרונית. לדוגמה: 3.14, -0.5, 100.0.
str (מחרוזת)
מייצג רצף של תווים (טקסט), מוקף בגרשיים בודדים (') או כפולים ("). לדוגמה: "שלום עולם", 'Python'.
bool (בוליאני)
מייצג ערך לוגי של אמת או שקר. הערכים האפשריים הם True או False (עם אות ראשונה גדולה). משמש להחלטות ובקרת זרימה.
אופרטורים בפייתון
אופרטורים הם סמלים המבצעים פעולות על ערכים ומשתנים (המכונים "אופרנדים"). הבנת סוגי האופרטורים השונים חיונית לביצוע חישובים, השוואות ולוגיקה בתוכניות שלכם.
סוגי אופרטורים עיקריים
- אופרטורים אריתמטיים: משמשים לביצוע פעולות מתמטיות בסיסיות.
+(חיבור),-(חיסור),*(כפל),/(חילוק),%(שארית חלוקה),**(חזקה),//(חילוק שלם).
- אופרטורי השמה: משמשים להקצאת ערכים למשתנים.
=(השמה פשוטה),+=(הוספה והשמה),-=(חיסור והשמה) ועוד.
- אופרטורי השוואה: משמשים להשוואת שני ערכים ומחזירים ערך בוליאני (
TrueאוFalse).==(שווה ל-),!=(לא שווה ל-),<(קטן מ-),>(גדול מ-),<=(קטן או שווה ל-),>=(גדול או שווה ל-).
- אופרטורים לוגיים: משמשים לשילוב או שינוי ביטויים בוליאניים.
and(וגם),or(או),not(לא).
= משמש להקצאת ערך למשתנה (לדוגמה: x = 10). לעומת זאת, אופרטור == משמש לבדיקת שוויון בין שני ערכים (לדוגמה: x == 10 יחזיר True אם x אכן שווה ל-10, ו-False אחרת). בבחינה, שימו לב היטב להקשר שבו מופיעים אופרטורים אלו.סביבת פיתוח: Anaconda ו-Jupyter Notebook
כדי לכתוב, להריץ ולנתח קוד פייתון ביעילות, אנו זקוקים לסביבת פיתוח מתאימה. בקורס זה, נשתמש ב-Anaconda וב-Jupyter Notebook (או Jupyter Lab).
מדוע לבחור ב-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) וקוד, הצגת פלטים וויזואליזציות באופן מיידי. תכונות אלו מקלות על ניסויים, תיעוד ושיתוף תהליכי עבודה.