מה זה Python, ולמה כדאי להשתמש בו?
מה זה Python, למה הוא טוב, ובמה הוא שונה משפות כמו C ו-Java: מתורגמת בזמן ריצה, טיפוסים דינמיים, הזחה כחלק מהתחביר וספרייה סטנדרטית עשירה.
סדרת פוסטים קצרים על Python, נושא בכל פוסט. כל דוגמה הורצה, וכל טענה נבדקה מול התיעוד הרשמי.
23 חלקים
מה זה Python, למה הוא טוב, ובמה הוא שונה משפות כמו C ו-Java: מתורגמת בזמן ריצה, טיפוסים דינמיים, הזחה כחלק מהתחביר וספרייה סטנדרטית עשירה.
איך print() עובדת ב-Python 3: הדפסת כמה ערכים, הארגומנטים sep ו-end, הדפסה ל-stderr, והטעות הנפוצה של הדפסת None.
איך משתנים עובדים ב-Python: השמה, שמות, הטיפוסים הבסיסיים int, float, str, bool ו-None, type() ושגיאת NameError.
מחרוזות ב-Python: גרשיים ותווי בריחה, מחרוזות raw ומחרוזות בשלושה גרשיים, אינדקסים וחיתוך, שינוי בלתי אפשרי, והמתודות הנפוצות לשינוי, פיצול וחיפוש טקסט.
איך עובדים f-strings ב-Python: שמים ביטויים בסוגריים מסולסלים, מפרטי עיצוב לרוחב, יישור, דיוק, מפרידי אלפים ואחוזים, מציין ה-= לדיבוג, והמרות !r.
אופרטורים חשבוניים ב-Python: + - * / // % ו-**, ההבדל בין חילוק אמיתי לחילוק עם עיגול למטה, round, המודול math, ולמה floats אינם מדויקים.
איך ממירים בין טיפוסים ב-Python עם int(), float(), str(), bool(), list(), tuple() ו-set(): מה כל המרה עושה, קיצוץ, בסיסים, אמת ושקר, ושגיאות כשההמרה נכשלת.
איך input() קורא שורה מהמשתמש ב-Python: ההנחיה, למה התוצאה תמיד str, המרה עם int() ו-float(), שגיאת ValueError על קלט לא תקין, ו-EOFError כשאין קלט בכלל.
איך עובדים עם תאריכים ב-Python בעזרת datetime.date: יצירת תאריך, קריאת חלקים ממנו, עיצוב עם strftime ו-isoformat, חישובים עם timedelta, ותאריכים לא חוקיים.
רשימה מחזיקה הרבה ערכים לפי סדר. יצירה, אינדקסים וחיתוך, הוספה והסרה, מיון, העתקה בלי הפתעות, ומילה על tuples.
איך Python מחליטה איזה קוד להריץ: if, else ו-elif, אופרטורי ההשוואה, ערכים אמיתיים ושקריים, הביטוי המותנה (x if C else y) והצצה ראשונה ל-match.
איך and, or ו-not מחברים תנאים ב-Python: טבלאות אמת, הערכה מקוצרת, למה and ו-or מחזירים את אחד האופרנדים, סדר קדימויות, ו-any() ו-all().
איך Python משתמש בהזחה כדי לקבץ קוד, ארבע הודעות IndentationError שתפגשו, למה ערבוב טאבים ורווחים גורם ל-TabError, ואיך מוצאים ומתקנים.
מה % עושה ב-Python ואיפה הוא שימושי: זוגי או אי-זוגי, כל פריט N-י, חזרה להתחלה ברשימה או בשעון, פירוק שניות עם divmod, ספרות, FizzBuzz, ואיך הוא מתנהג עם מספרים שליליים.
להריץ קוד שוב ושוב: for על רשימה או על range, enumerate ו-zip, while, break ו-continue, else על לולאה, והבאגים בלולאות שכולם כותבים פעם אחת.
מילון שומר ערכים לפי מפתח במקום לפי מיקום. יצירה, קריאה בטוחה עם get, הוספה והסרה, לולאה על מפתחות וערכים, ספירה, מבנים מקוננים, ואילו ערכים יכולים להיות מפתח.
def, פרמטרים וערכי החזרה, ברירות מחדל וארגומנטים לפי שם, המלכודת של ברירת מחדל שמשתנה, docstrings ו-type hints, והעברת פונקציה כערך.
מה זה בלוק של קוד ב-Python, למה if, for, while ו-try לא יוצרים scope חדש, אילו בלוקים כן יוצרים (פונקציות, מחלקות, comprehensions), והבאגים שנובעים מבלבול ביניהם.
איפה אפשר לראות ולשנות משתנה ב-Python: היקף מקומי, גלובלי ו-nonlocal, המילים global ו-nonlocal, הסתרת שמות, ואיך בוחרים שמות ברורים לפי PEP 8.
הודעות TypeError נפוצות ב-Python ומה הן אומרות, בדיקת טיפוסים עם type() ו-isinstance(), למה רמזי טיפוסים לא נאכפים, ומתי לבדוק טיפוס ומתי לתפוס את השגיאה.
מה קורה כש-Python נתקלת בשגיאה בזמן ריצה: קריאת traceback, תפיסת שגיאות עם try/except, else ו-finally, העלאת חריגות משלכם, ולמה except ריק הוא מלכודת.
איך pip מתקין חבילות צד שלישי מ-PyPI: התקנה, נעיצת גרסאות, רשימה, הצגת פרטים, שמירה ל-requirements.txt, הסרה, ולמה כדאי להשתמש ב-python -m pip ובסביבה וירטואלית.
מה זה uv ואיך משתמשים בו: זרימת עבודה של פרויקט עם uv init, uv add ו-uv run, קובצי .venv, pyproject.toml ו-uv.lock, ו-uv venv ו-uv pip למי שרגיל ל-pip.