מדריך פייתון למתחילים
אם אתם רוצים להתחיל ללמוד פייתון מאפס, או שיש לכם כבר קצת ידע
ואתם רוצים להעמיק אותו - הגעתם למקום הנכון.
לא קיים חומר רב על פייתון באינטרנט הישראלי, ולכן החלטנו לכתוב את המדריך הזה, אשר בנוי במתכונת של קורס פייתון שאנו מעבירים.
המדריך מקיף בצורה יסודית את כל הנושאים הבסיסיים ומיועד להביא אתכם לרמה שבה תרגישו בנוח עם שפת פייתון, ותוכלו לכתוב תכניות שלמות בעצמכם.
אנו מקווים שתמצאו אותו מועיל.
רוצים לתרגל פייתון?
יותר מ-500 תרגילים איכותיים ומגוונים בעברית, ברמות שונות, כולל פתרונות.
עכשיו ב-59 ש"ח בלבד
הרשמו לערוץ היוטיוב
כדי לקבל עדכונים על סרטונים חדשים
למי מיועד מדריך פייתון?
-
אנשים שמעולם לא כתבו קוד ומתלבטים איך להתחיל.
-
אנשים שיודעים לתכנת בשפה (או שפות) אחרות ורוצים להוסיף את פייתון ל"ארגז הכלים" שלהם.
-
אנשים שהתחילו ללמוד פייתון בעבר ורוצים להעמיק את ידיעותיהם או ללמוד את השפה בצורה יותר יסודית ומסודרת.
מספר הבהרות נוספות:
-
נקודת ההנחה בכתיבת המדריך הזה היא שאין לכם שום ידע קודם בתכנות, ולכן בפוסטים השונים לא רק נלמד את תחביר השפה עצמה, אלא גם יוצגו הסברים על קונספטים שונים בתכנות. אם יש לכם ניסיון קודם בשפות תכנות אחרות סביר שתמצאו את הרעיונות האלה מוכרים.
-
ל-Python קיימות שתי גרסאות עיקריות – 2 ו-3. המדריך הזה מלמד את גרסה 3 שהיא הגרסה החדשה והמעודכנת בין השתיים. ההבדלים בין הגרסאות הם בדרך כלל לא משמעותיים כשרק מתחילים ללמוד את השפה, ומדי פעם תהיה התייחסות להבדלים תוך כדי הסבר על נושא מסוים, כך שאם אתם רוצים או צריכים ללמוד דווקא את גרסה 2 המדריך עדיין יהיה שימושי עבורכם.
-
השאיפה היא להמשיך ולהרחיב את המדריך. אשמח לקבל פידבק, ואם יש לכם הערות או בקשות לנושאים ספציפיים. בכל מקרה אם סיימתם לקרוא את כל מה שיש כאן, אל יאוש, הפוסט/סרטון הבא בדרך…
-
לא תמצאו במדריך הזה את צירוף המילים "hello world" (טוב, החל מעכשיו) שמלווה כל מדריך תכנות מאז המצאת… התכנות. מצד שני אני מאוד אוהב סרטים וסדרות ולכן כדי להכניס קצת עניין (לקוראים וגם לעצמי) אשלב מדי פעם ציטוטים קלאסים משלל הז'אנרים. נראה כמה תצליחו לזהות?
האם כדאי ללמוד פייתון?
לפני הכל, אתם צריכים להחליט האם פייתון היא שפה שמעניין אתכם בכלל ללמוד - והאם היא מתאימה
להשגת המטרות שהצבתם לעצמכם. על הדרך אסביר טיפה על ההיסטוריה שלה, יתרונות יחסיים ובאילו תחומים היא הכי נפוצה.
איך להתחיל לכתוב פייתון?
השתכנעתם שפייתון זה משהו שאתם רוצים/צריכים לדעת? מצוין! עכשיו רק נשאר לבחור באיזו סביבה
ועם איזה כלי פיתוח אתם מעדיפים לעבוד. בפוסט הזה אני נותן כמה אופציות אפשריות (ממש לא רשימה מלאה)
התקנת Python על Windows
על מנת שתוכלו להריץ תוכניות פייתון על מחשבכם יש להתקין את השפה.
תהליך ההתקנה פשוט מאוד וחינמי ובפוסט הזה אתאר את הצעדים הדרושים.
כתיבת ליטרלים
בפוסט הזה אסביר מה הם ליטרלים, ואיך הם עובדים בפייתון. על הדרך נעשה גם הכרות זריזה עם מספרים,
טקסטים (מחרוזות) חישובים וביטויים בוליאניים.
הדפסות
כדי להציג מידע מתוכנית חיצונית יש להשתמש בהדפסות. בפרק הזה נראה איך לקרוא לתוכנית חיצונית מתוך
שורת הפקודה (CMD), איך לבצע הדפסות וגם נעבור על כמה טיפים שימושיים שיעזרו לנו להציג את המידע בצורות שונות.
עבודה עם משתנים
משתנים הם המושג הבסיסי והחשוב ביותר בכל שפת תכנות. בעזרת משתנים התוכניות שלנו מסוגלות לקבל מידע,
לעבד אותו ולהעביר אותו הלאה. בפוסט הזה נתעמק במה זה בדיוק משתנים, איך עובדים איתם בסביבת פייתון
ונראה כמה פעולות בסיסיות שניתן לעשות איתם.
מחרוזות
מחרוזות הן אחד מטיפוסי הנתונים השכיחים ביותר. בפוסט הזה נראה כיצד להגדיר טקסטים כמחרוזות,
כיצד לעבוד איתם וכיצד לעשות עליהם חישובים ועיבודים שונים.
חיתוך רצפים בעזרת Slicers
בפייתון קיימים מספר טיפוסי נתונים של רצפים (Sequences) והשימוש בהם מאוד דומיננטי. אנו יכולים לגשת לערכים בתוך רצפים ע"י שיטת סימון מיוחדת שנקראת Slicers. בפוסט הזה אדגים את השיטה ואראה אפשרויות שונות ל"חיתוך" רצפים כדי שנוכל לשלוף מהם רק את הערכים הרלוונטיים עבורנו.
מספרים
מספרים הם טיפוס הנתונים הנפוץ ביותר בפייתון (ובכל שפה אחרת). בפוסט זה אסביר על ההבדל
בין שני סוגי המספרים בפייתון (שלמים ועשרוניים) ואדגים כמה פונקציות שימושיות לעבודה עם מספרים.
קבלת מידע ממשתמש
לפעמים נרצה לאסוף מידע ממשתמש בזמן הרצת התוכנית. זה יכול להיות מידע שהתוכנית תזדקק לו כדי לבצע
את פעולתה או סתם ציון העדפה כלשהי. בפוסט הזה נראה איך לקבל מידע ממשתמש ואיך להשתמש בו בתוכניות שאנחנו כותבים.
המרות ערכים
בפייתון יש כמה וכמה טיפוסי נתונים ולא תמיד הם מסתדרים ביחד. בחלק הזה אציג כמה מהבעיות הנפוצות בעבודה
עם הטיפוסים הבסיסיים – מחרוזות ומספרים, ואיך אפשר לפתור אותם באמצעות פונקציות המרה.
אופרטורים יחסיים
אופרטורים יחסיים מאפשרים לנו "לשאול" שאלות שהתשובה שלהן יכולה להיות נכון או לא נכון – True או False.
השאלות האלה מהוות את הבסיס ליצירת תנאים בתוכנית והפוסט הזה מהווה הכנה לנושא התנאים שמגיע בהמשך.
תנאים
אחרי שהבנו איך ערכים בוליאניים וביטויים בוליאניים עובדים, הגיע הזמן לקחת את הקונספט צעד אחד קדימה. בפוסט זה נראה איך אפשר להגדיר לתוכנית "החלטות" שיאפשרו יצירת תוכניות דינאמיות יותר אשר מבצעות פעולות שונות בהתאם לקלט שהן מקבלות.
פונקציית Range
Range היא פונקציה שמשמשת ליצירת טווחי מספרים.
בפוסט הזה אסביר למה זה כל כך שימושי, אראה איך להשתמש בה ואסביר על השדרוג שעברה מגרסת פייתון 2.
לולאות While
לולאות הן אלמנט חשוב בכל שפת תכנות והן מאפשרות לנו להוציא לפועל חלקים מהתוכנית שלנו שוב ושוב ככל שנצטרך. בפוסט הזה אסביר על שני סוגי הלולאות בפייתון ונתעמק בסוג הראשון מביניהן – לולאות תלויות אירוע המתבצעות כל עוד תנאי מסויים מתקיים.
לולאות For
לולאות For הן לולאות אשר מיועדות להתבצע מספר מוגדר של פעמים.
בפייתון הלולאות האלה שימושיות במיוחד בגלל הדרך החכמה שבה הן מתבצעות.
Continue / Break
פוסט קצר על שתי פקודות שימושיות – Break ו- Continue,
המאפשרות לנו לדלג על חזרות בתוך לולאה ואפילו “לשבור” אותה תוך כדי ריצה.
רשימות - יצירה, חישובים וחיתוכים
בפוסט זה אסביר מה זה משתנה מורכב ואציג את המשתנה המורכב הפשוט והנפוץ ביותר – רשימה.
אראה איך ליצור רשימה, להוציא ממנה ערכים ספציפיים באמצעות חיתוכים וביצוע של חישובים פשוטים.
רשימות - ניהול ערכים
כדי שנוכל לעבוד עם רשימה באופן יעיל, לא מספיק רק ליצור אותה עם ערכים מוכנים מראש. עלינו להבין איך ניתן לשנות,
להוסיף ולהסיר ערכים מרשימה תוך כדי ריצת התכנית. בפוסט הזה אראה כיצד ניתן לבצע את הפעולות האלה בצורה פשוטה.
רשימות - פעולות נוספות
בפוסט השלישי והאחרון על רשימות בפייתון, נעבור על עוד כמה פעולות שימושיות שאפשר לעשות איתן,
כמו מיון והיפוך ערכים. נעבור גם על רשימות מקוננות ואיך אפשר ליצור בקלות רשימה של רשימות.
טאפלים
מבנה נתונים נוסף בפייתון נקרא טאפל (Tuple). הם מאוד דומים לרשימות ועובדים באופן זהה, למעט שני הבדלים חשובים.
סטים
סטים הם סוג נוסף של מבנה נתונים בפייתון, אבל יש לסטים כמה תכונות ומתודות ייחודיות שהופכות אותם לאידיאלים
לניתוחים מסוימים על נתונים, או ביצוע השוואות בין קבוצות שונות של נתונים. בפוסט הזה נראה איך לייצר סטים,
מה מאפיין אותם ואיך הם עובדים.
סטים - פעולות על קבוצות
היכולת השימושית ביותר של סטים היא האפשרות לבצע בקלות השוואות בין הערכים בסט מסוים לערכים במבנה נתונים אחר באמצעות סדרה של מתודות מיוחדות שחוסכות לנו כתיבה של לולאות מיותרות וביצוע מספר רב של בדיקות.
מבוא למילונים
מילונים הם מבני נתונים שימושיים מאוד, וכנראה המערכים הגמישים ביותר בשפה. הדבר הכי קשה בנושא הזה הוא
להבין למה בכלל צריך אותם ולמה אי אפשר להסתפק ברשימות. לכן, לפני שנקפוץ לחלק המעשי, אקדיש את הפוסט הזה
כדי להסביר על המבנה והרעיון של מילונים ברמה התיאורטית.
מילונים חלק ב' - יצירה, הכנסה והצגת נתונים
אחרי שהבנו מה זה מילון ומה מייחד אותו משאר המערכים בפייתון, הגיע הזמן לראות איך יוצרים מילונים,
איך לנהל את המידע שנמצא בהם ואיך להציג את כולו או חלקים ממנו.
מילונים חלק ג' - איתור ערכים
אנחנו כבר מבינים מה זה מילון, למה הוא טוב, איך יוצרים אותו ואיך ממלאים אותו בנתונים. עכשיו נראה איך אפשר לוודא
המצאות של ערכים (או מפתחות) במילון, לאתר ערכים במילון ואפילו איך להשתמש במילון כדי לבצע בדיקות תדירות ערכים
על כל רצף נתונים שתרצו.
מילונים חלק ד' - פעולות נוספות
בפוסט האחרון על מילונים אראה איך ניתן לבצע איחוד בין שני מילונים או יותר,
איך למיין מילונים לפי מפתח או ערך ואיך לייצר אובייקט חדש כהעתק של מילון קיים.
Comprehensions
Comprehensions הוא תחביר מיוחד בפייתון - מדובר בדרך מקוצרת ונוחה לייצר רשימות (אבל לא רק) באמצעות לולאה,
בשורה אחת בלבד. הנוחות והקלות של הטכניקה הזאת הפכו אותה לפופולרית במיוחד בקרב מפתחי פייתון,
ולכן זה תחביר ששווה להכיר.
פונקציות
כדי לכתוב קוד נקי ויעיל יש צורך ליצור פונקציות משלנו, ולא רק להשתמש בפונקציות המובנות של השפה.
בחלק זה נראה איך להגדיר פונקציות, איך לקרוא להן, עבודה עם משתנים פרטיים וגלובליים, הגדרת ערכי ברירת מחדל ועוד.
ביטויי למבדה
לא מדובר בריקוד אלא בתחביר מיוחד שמאפשר לנו להגדיר פונקציות "אנונימיות", ללא שם, בצורה נוחה ובשורה אחת בלבד.