מדריך פייתון למתחילים

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

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

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

et-l

אז למי מיועד המדריך הזה:

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

מספר הבהרות נוספות:

  • בכתיבת המדריך הזה אני יוצא מנקודת הנחה שאין לכם שום ידע קודם בתכנות ולכן בפוסטים השונים לא רק אלמד את תחביר השפה עצמה אלא גם אציג הסברים על קונספטים שונים בתכנות. אם יש לכם ניסיון קודם בשפות תכנות אחרות סביר שתמצאו את הרעיונות האלה מוכרים.
  • ל-Python קיימות שתי גרסאות עיקריות – 2 ו-3. המדריך הזה מלמד את גרסה 3 שהיא הגרסה החדשה והמעודכנת בין השתיים. ההבדלים בין הגרסאות הם בדרך כלל לא משמעותיים כשרק מתחילים ללמוד את השפה, ומדי פעם אתייחס להבדלים תוך כדי הסבר על נושא מסוים, כך שאם אתם רוצים או צריכים ללמוד דווקא את גרסה 2 המדריך עדיין יהיה שימושי עבורכם.
  • המדריך נמצא עדיין בשלבי כתיבה ואני משתדל להרחיב אותו ככל שהזמן מאפשר לי. אשמח לקבל פידבק אם יש לכם הערות או בקשות לנושאים ספציפיים. בכל מקרה אם סיימתם לקרוא את כל מה שיש כאן, אל יאוש, הפוסט הבא בדרך…
  • לא תמצאו במדריך הזה את צירוף המילים "hello world" (טוב, החל מעכשיו) שמלווה כל מדריך תכנות מאז המצאת… התכנות. מצד שני אני מאוד אוהב סרטים וסדרות ולכן כדי להכניס קצת עניין (לקוראים וגם לעצמי) אשלב מדי פעם ציטוטים קלאסיים משלל הז'אנרים. נראה כמה תצליחו לזהות 😉

למה ללמוד פייתון?

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

איך להתחיל לכתוב פייתון

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

התקנת Python על Windows

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

כתיבת ליטרלים

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

הדפסות

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

עבודה עם משתנים

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

מחרוזות

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

חיתוך רצפים בעזרת Slicers

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

מספרים

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

קבלת מידע ממשתמש

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

המרות ערכים

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

אופרטורים יחסיים

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

תנאים

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

פונקציית RANGE

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

לולאות while

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

לולאות for

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

Continue / Break

פוסט קצר על שתי פקודות שימושיות – break ו- continue, המאפשרות לנו לדלג על חזרות בתוך לולאה ואפילו “לשבור” אותה תוך כדי ריצה

רשימות - יצירה, חישובים וחיתוכים

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

רשימות - ניהול ערכים

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

רשימות - פעולות נוספות

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

טאפלים

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

סטים

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

סטים - פעולות על קבוצות

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

מבוא למילונים

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

מילונים חלק ב' - יצירה, הכנסה והצגת נתונים

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

אלעד פלג

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