תיעוד Python
מדריך עיון תמציתי ל-Python, מבוסס דוגמאות. קוראים את המושג, רואים את הקוד, ואז מתרגלים אותו במסלול של Coddy.
להתחיל מסלול Python מודרךGetting Started
- מה זה Python?היכרות בשפה פשוטה עם Python: מה היא, למה משתמשים בה, ולמה כל כך הרבה אנשים בוחרים בה כשפת התכנות הראשונה שלהם.
- התקנת Pythonמדריך צעד אחר צעד להתקנת Python בכל מערכת הפעלה, לבדיקת הגרסה, ולהבנה מתי בכלל לא צריך להתקין כלום.
- הרצת קוד Pythonשלוש דרכים להריץ קוד Python: ה-shell האינטראקטיבי, קובץ .py שמור מהטרמינל, ומתוך עורך, עם הנחיות מתי להשתמש בכל אחת.
- תחביר Pythonהסט המינימלי של כללי תחביר ש-Python מקפידה עליהם: הזחה, שבירת שורות, נקודתיים ורגישות לאותיות גדולות וקטנות, בלי ז'רגון.
- הערותאיך כותבים הערות ב-Python: הערה בשורה אחת עם #, בלוקים של כמה שורות, ו-docstrings לתיעוד פונקציות ומודולים.
Variables & Data
- משתניםאיך משתנים עובדים ב-Python: השמה, כללי שמות, השמה מחדש, והמודל המחשבתי שמרחיק אתכם מצרות.
- טיפוסי נתוניםסיור בטיפוסי הנתונים המובנים של Python: מספרים, מחרוזות, בוליאנים, None, רשימות, tuples, קבוצות ומילונים, עם דוגמאות ומתי להשתמש בכל אחד.
- מחרוזותעבודה עם טקסט ב-Python: יצירת מחרוזות, שימוש ב-f-strings, slicing והמתודות היומיומיות כמו split, join, replace ו-strip.
- f-Stringsמדריך מעשי ל-f-strings ב-Python: שילוב משתנים וביטויים, עיצוב מספרים ותאריכים, ומתי לפנות לסגנונות העיצוב הישנים.
- מספרים ובוליאניםאיך Python מטפלת במספרים שלמים, במספרים עשרוניים ובערכים בוליאניים: חשבון, המרות, ומקרי הקצה שמכשילים אנשים.
- קלט ופלטאיך עובדות הפונקציות print() ו-input() ב-Python, ובנוסף מפרידים, תווי סיום שורה, ואיך ממירים קלט משתמש למספרים.
Control Flow
- אופרטוריםסיור מלא באופרטורים של Python: אריתמטיים, השוואה, לוגיים, השמה, שייכות וזהות, עם דוגמה לכל אחד.
- האופרטורים and, or, notאיך עובדים האופרטורים and, or ו-not ב-Python: טבלאות אמת, ערכים truthy ו-falsy, קיצור הערכה, למה and/or מחזירים אחד מהאופרנדים, קדימות, ו-and/or לעומת & ו-|.
- if / elif / elseאיך עובדים משפטי if, elif ו-else ב-Python, כולל ערכים truthy, תנאים מקוננים וביטוי ה-if הטרנרי.
- לולאות forאיך עובדת לולאת for ב-Python: מעבר על רשימות, מחרוזות, ranges, מילונים וכל דבר אחר שאפשר לעבור עליו, ובנוסף break, continue ו-else.
- לולאות whileמתי לבחור לולאת while במקום לולאת for, איך נמנעים מלולאות אינסופיות, והתבניות שחוזרות הכי הרבה בקוד אמיתי.
- range()איך range() עובדת ב-Python: start, stop, step, טווחים שליליים, ולמה היא עצלה ולא יוצרת רשימה בזיכרון.
Collections
- רשימותסיור מעשי ברשימות של Python, האוסף הנפוץ ביותר: יצירה, אינדקסים, slicing, append, מיון והדפוסים שתשתמשו בהם הכי הרבה.
- Tuplesמתי לבחור ב-tuple במקום ברשימה: חוסר שינוי, פריסה (unpacking), named tuples והמצבים ש-tuples נועדו להם.
- Setsמתי לבחור ב-set של Python: ייחודיות, בדיקות in מהירות, והפעולות בסגנון מתמטי (איחוד, חיתוך, הפרש) שהופכות את ה-sets לחזקים.
- מילונים (dict)מילונים הם מבנה החיפוש לפי מפתח וערך של Python: טיפוס הנתונים שתשתמשו בו כל הזמן ברגע שעברתם את הבסיס.
- List ComprehensionList comprehension מאפשרת לבנות רשימה חדשה בשורה אחת וקריאה, עם מיפוי, סינון או שניהם, במקום הדפוס של לולאה ו-append.
Functions & Structure
- פונקציותאיך מגדירים ומשתמשים בפונקציות ב-Python: פרמטרים, ערכי החזרה, ארגומנטים עם ברירת מחדל, ארגומנטים בעלי שם והרגלי שמות ששומרים על קוד קריא.
- *args ו-**kwargsמה המשמעות של *args ו-**kwargs, מתי להשתמש בהם ואיך להעביר ארגומנטים בצורה נקייה מפונקציה לפונקציה.
- Lambdaמה זה lambda, למה היא טובה, ובאילו מקומות מעטים היא באמת מצדיקה את עצמה, וגם מתי עדיף לעבור לפונקציה עם שם.
- Decoratorsמה הם בעצם decorators ב-Python, איך כותבים אחד משלכם, והדפוסים (ארגומנטים, שרשור, wraps) שהופכים אותם לשווים את השימוש.
- Type Hintsמה הם type hints ב-Python, מתי הם עוזרים, והתחביר לאנוטציה של משתנים, חתימות פונקציות, מכולות וערכים אופציונליים.
- מודולים וייבואאיך עובדת מערכת המודולים של Python: כתיבת מודולים משלכם, ייבוא מהם ושימוש ב-pip להתקנת חבילות צד שלישי.
- pip וחבילותאיך מתקינים, משדרגים ומסירים חבילות Python עם pip, כולל PyPI, קובצי requirements והימנעות ממלכודת ההתקנה הגלובלית.
- סביבות וירטואליותמה זו סביבה וירטואלית, למה כל פרויקט Python אמיתי צריך אחת, ואיך יוצרים ומנהלים אותן עם המודול המובנה venv.
- __main__ Guardמה באמת עושה `if __name__ == '__main__'`, למה כל סקריפט Python רציני מגיע בסוף לדפוס הזה, ואיך לבנות קובץ שמשמש גם כסקריפט וגם כמודול.
Classes & Objects
- מחלקות (Classes)מבוא למתחילים למחלקות ב-Python: איך מגדירים אותן, יוצרים מופעים, המתודה `__init__`, ירושה, ומתי עדיף להשתמש ב-dataclasses.
- ירושה (Inheritance)איך עובדת ירושת מחלקות ב-Python: יצירת תת-מחלקה, קריאה ל-super().__init__, דריסה והרחבה של מתודות, isinstance ו-issubclass, ירושה מרובה ו-MRO, ומתי הרכבה (composition) היא הבחירה הטובה יותר.
Advanced Iteration
Working with Real Data
- טיפול בקבציםאיך קוראים וכותבים קבצים ב-Python: הצהרת with, מצב טקסט מול מצב בינארי, וה-API המודרני והבטוח יותר שמבוסס על נתיבים.
- בדיקה אם קובץ קייםשלוש דרכים לבדוק אם קובץ קיים ב-Python: os.path.exists ו-isfile, המתודות Path.exists ו-is_file של pathlib, ופתיחת הקובץ בתוך try/except FileNotFoundError.
- JSONאיך קוראים וכותבים JSON ב-Python: loads, dumps, קריאה מקבצים, הדפסה מעוצבת וטיפול במקרי הקצה שצצים עם נתונים אמיתיים.
- קובצי CSVאיך קוראים וכותבים קובצי CSV ב-Python: המודול csv, DictReader ו-DictWriter, טיפול בכותרות, מירכאות, ומתי עדיף לעבור ל-pandas.
- בקשות HTTPאיך שולחים בקשות HTTP ב-Python עם ספריית requests: GET, POST, פרמטרי שאילתה, כותרות, גוף JSON וטיפול בשגיאות.
- datetimeסיור מעשי במודול datetime של Python: פענוח, עיצוב, חישובים על תאריכים וטיפול באזורי זמן בלי ללכת לאיבוד.
- Regexהיכרות מעשית עם המודול re של Python: חיפוש, התאמה, קבוצות לכידה, החלפה והתבניות שתשתמשו בהן הכי הרבה.