מדריך פייתון
מה זה פייתון?
במדריך קצר זה תמצא הסבר על פייתון - שפת המחשב הפופולרית מאוד - בזכות מגוון שימושים וקלות כתיבה. בנוסף, תוכלו לגלות כיצד גם אתם תוכלו ללמוד את השפה המועדפת על ידי חברות, סטרטאפים ומתכנתים בעולם.
איך להתחיל ללמוד פייתון? שלום עולם וסביבת העבודה
אחת הבעיות הגדולות למי שמעולם לא למד תכנות היא איפה כותבים את הקוד ואיך מריצים. במדריך זה תמצא הסבר על איך לכתוב ולהריץ פייתון - מהדרכים הפשוטות ביותר שמתאימות למתחילים גמורים ועד לסביבות הפיתוח בהם משתמשים מקצועני התוכנה.
מדריך פייתון: משתנים, ערכים ו-print
גם בתכנות קיימים משתנים והם יכולים לקבל איזה ערך שנציב לתוכם. ניתן להציב בהם מספרים, טקסט (מחרוזת), וסוגים נוספים שעליהם נלמד במדריכים בסדרה ללימוד פייתון.
לולאת for - במקום לחזור על עצמך תריץ לולאה
אחד היתרונות של שימוש במחשב הוא שהוא יכול לבצע את אותה הפעולה אינסוף פעמים (כמעט) בלי לקטר, בלי להתייאש ובלי לטעות. כדי לבצע את אותה הפעולה אפשר לכתוב את אותו קוד מספר פעמים אבל למה להתאמץ. עדיף להשתמש בלולאה בתוכה נריץ את אותו קוד כמה פעמים שנרצה. במדריך זה נלמד את הנושא של לולאת for.
לולאת while פייתונית
במדריך הקודם בסידרה ללימוד פייתון למדנו על לולאות for שכדי להפעיל אותה צריך להגדיר מראש את טווח הערכים שבתוכה הלולאה פועלת. במדריך זה נלמד על לולאת while שרצה עד שהיא פוגשת בתנאי שגורם לה להפסיק או עד שהיא מגיעה ל-break.
רשימות של פייתון
רשימה של פייתון list היא משתנה שיכול להכיל מספר פריטים יחדיו. שם נוסף לרשימה הוא מערך. במדריך זה תלמדו כיצד לעבוד עם רשימות פייתוניות.
תנאים של פייתון באמצעות if, elif ו-else
תנאים של פייתון מאפשרים לנו לבצע קוד רק בתנאי שהוא עומד בתנאים. במדריך זה היכרות ראשונית עם הנושא ההכרחי לכל מתכנת.
טאפלים של פייתון - רשימות שלא ניתן לשנות
במדריך קודם למדנו אודות רשימות שהם סוג הנתונים הפופולרי ביותר כשרוצים לאחסן אוסף של נתונים. במדריך זה נלמד אודות טאפל שהם רשימות שאי אפשר לשנות ובכל זאת הם מאוד שימושיות.
כל מתכנת חייב שיהיו ברשותו כלים מתמטיים, ואכן פייתון כוללת שפע של פונקציות וספריות מתמטיות, ואף נחשבת לשפה המובילה בתחום של יישומי מתמטיקה בתכנות. במדריך זה נלמד את הבסיס של שימוש במתמטיקה בשפת הפייתון.
פעולות על מחרוזות בפייתון
שפת ה-Python כוללת שפע של פונקציות שתפקידן לטפל בטקסטים. פונקציות אילה הן פונקציות מחרוזת. בפייתון קיימות כמה עשרות פונקציות מחרוזת, ובמדריך זה אציג מספר פונקציות ופעולות שימושיות במיוחד.
איך לכתוב פונקציות בפייתון?
פונקציה מכילה מספר פקודות שמקובצות ביחד תחת שם אחד באופן שניתן לקרוא לה מאיפה שצריך, מתי שצריך. פונקציות משמשות בכל מקום בפייתון ולכן חשוב מאוד ללמוד לכתוב אותם.
ארבעת התחומים (scope) של פייתון
אחד הדברים הכי חשובים למתכנת בכל שפת תכנות הוא התחום של משתנים (scope) שמאפשר לגשת למשתנים בהתאם לתחום שבו הם מוגדרים. בפייתון תקף כלל LEGB שקובע את הסדר שבו ניתן לגשת לתחומים. LEGB הם ראשי תיבות של שמות ארבעת התחומים הפייתוניים.
יבוא קבצים ומודולים
כשאנחנו עובדים על משימת התכנות שלנו מהר מאוד נגלה שאנחנו צריכים להשתמש ביותר מקובץ אחד משלוש סיבות עיקריות: הקוד שאנחנו כותבים הופך לארוך מדי וקשה לנו לנהל אותו, צוות של מתכנתים עובדים במקביל על אותו פרויקט או שאנו רוצים להפחית את מידת המאמץ על ידי יבוא פונקציות שכתבו מתכנתים אחרים, וארוזות בתוך מודולים. במדריך זה נלמד כיצד לייבא קבצים שלנו ומודולים שכתבה קהילת הפייתון.
מודול os - הקשר של פייתון עם מערכת ההפעלה
מודול os של פייתון מאפשר לנו לעבוד עם מערכת ההפעלה (OS). להריץ פקודות של מערכת ההפעלה ולעבוד עם מערכת הקבצים, ובכלל כך לנווט בתוך מערכת הקבצים, ולשנות את שמם של קבצים ותיקיות.
קריאה וכתיבה של קבצים בפייתון
אחת המשימות הנפוצות ביותר בתכנות פייתון היא קריאה וכתיבת של קבצים. בין אם זה כתיבה לקובץ טקסט פשוט, או העתקת תמונה, כל המשימות האילה מחייבים קריאה או כתיבה של קבצים. במדריך זה תכירו את הפקודות הבסיסיות של קריאת וכתיבת קבצים ב-python.
עבודה עם תאריכים בפייתון
ישנם כמה ספריות לעבודה עם זמנים בפייתון. במדריך זה נכיר את הספריות החשובות ביותר.
מדריך ביטויים רגולריים בפייתון
ביטויים רגולריים regex משמשים למציאת התאמות בטקסט ומהווים חלק חשוב מפייתון. במדריך זה תלמדו את הבסיס של regex שמאפשר לעשות הרבה במעט קוד.
עבודה עם פייתון במסד נתונים mySQL
במדריך זה תקבל הסבר על עבודה עם מסד נתונים מסוג mySQL, מפני שהוא נפוץ ביותר בשימוש באפליקציות מבוססות פייתון.
טיפול בחריגים בפייתון באמצעות הבלוקים try ו-except
טיפול בחריגים Exceptions היא דרך מקובלת לטיפול בשגיאות באופן אלגנטי. לדוגמה, אם נכשל הניסיון שלנו להתחבר למסד הנתונים, אנחנו יכולים לטפל בשגיאה ע"י הפנייה למקור נתונים חלופי או לפחות לספק הודעת שגיאה אינפורמטיבית. במדריך זה הסבר כיצד לטפל בחריגים בפייתון.
פייתון בעולם האמיתי
JSON וצריכת API בפייתון
במדריך נלמד איך להשתמש ב-JSON בפייתון. בסוף המדריך כללתי מיני-פרוייקט במסגרתו נוריד את התמונה היומית מה-API של סוכנות החלל האמריקאית, NASA.
איתור קישורים שבורים בדף אינטרנט באמצעות פייתון ו-selenium
חבילת selenium של פייתון משמשת לביצוע בדיקות אוטומטיות של אתרים כי היא שולטת בדפדפן ומאפשרת לכוון את ההתנהגות שלו. לדוגמה, ניתן להשתמש ב-selenium כדי לבחון את ההתנהגות של טופס בתרחישים שונים ובדפדפנים שונים ואז להריץ את הסקריפט על אוטומט בכל יום באותה שעה כדי לוודא שהטופס תקין. במדריך אשתמש ב- selenium כדי לאתר קישורים שבורים בדף.
גירוד דפי רשת (Web scraping) באמצעות פייתון
גירוד דפי רשת היא טכנולוגיה שמאפשרת לנו להעתיק את תוכנם של דפי אינטרנט ומקורות מידע ברשת למאגרי הנתונים שברשותנו. במדריך זה נלמד לגרד דפי רשת באמצעות ספריית BeautifulSoup של פייתון וכיצד לאחסן את המידע שהורדנו במסד הנתונים ועל קבצי csv במחשב/ בשרת שלנו.
עבודה עם תמונות בפייתון
אחת המשימות הנפוצות ביותר בתכנות פייתון היא עבודה עם תמונות. במדריך זה הסבר על ספרית Pillow שהופכת את העבודה עם תמונות ובכלל כך פתיחה, עריכה ושימוש בפילטרים לפשוטה מאוד.
למה ואיך לעבוד עם סביבה וירטואלית בפייתון
המצב הרגיל הוא שכל הפרויקטים שאנחנו כותבים בפייתון תלויים באותם חבילות גלובליות שהתקנו על המחשב שלנו. הבעיה מתחילה כשאנחנו רוצים לעדכן את החבילות ואז חלק מהפרויקטים מפסיקים לעבוד בשל בעיית תאימות לאחור. הפתרון הוא שימוש בסביבה וירטואלית שמאפשרת לנהל את החבילות באופן נפרד עבור כל פרויקט. והאמת היא שאין דבר קל מכך בגלל שפייתון מציע את המודול venv לניהול סביבה וירטואלית כחלק מהספרייה הסטנדרטית מה שאומר שלא צריך להתקין אותו.
כדאי לדעת
מדריך פייתון : list comprehensions
אחד הפינוקים שמציעה שפת הפייתון הוא list comprehension שפועל כמו לולאות על רשימות בתחביר קומפקטי וקריא יותר.
מה זה generator של פייתון? ואיך משתמשים בו
האם קרה לך פעם שרצית להריץ לולאה מספר רב של פעמים אבל המחשב קרס באמצע. אם זה המצב או שאתה פשוט סקרן לדעת מהו generator של פייתון אז הגעת למקום הנכון. generator של פייתון הם שימושיים אם צריך להריץ את אותה הפונקציה מספר רב של פעמים. לדוגמה, ביצוע פעולה על מספר רב של רשומות אותם שולפים ממסד הנתונים או כשרוצים לבצע פעולה מתמטית על סדרה ארוכה של מספרים. במקום שפונקציה רגילה תרוץ על כל הנתונים, generator יאפשר למחשב לעבוד על פריט אחד בכל פעם מה שחוסך מקום בזיכרון ומפחית את העומס על המחשב.
פונקציות למדא (lambda) אנונימיות בפייתון
אחת התכונות הנפלאות של פייתון היא התחביר העשיר. שמצד אחד, מאפשר להגיע לאותה תוצאה במגוון דרכים אבל גם עלול להכשיל את המתכנתים החדשים שעלולים מהר מאוד להיתקל בתחביר לא מוכר בשעה שהם קוראים קוד שמישהו אחר כתב. אז במיוחד בשביל אותם מתכנתים חדשים, כתבתי מדריך שמסביר אודות פונקציות למדא, שנקראות גם פונקציות אנונימיות, פונקציות ללא שם, או ביטויי למדא.
מדריך map, filter, reduce
הפונקציות map, filter, reduce משמשות בפייתון כדי לבצע את אותה הפעולה על כל אחד מהפריטים ברשימה ללא צורך בלולאה. במדריך זה תלמדו אודות הפונקציות ומתי כדאי להשתמש בהם.
args ו-kwargs בפייתון מוסברים בשפה פשוטה
אחרי שקצת השתמשת בספריות של פייתון ודאי נתקלת בשני ארגומנטים שניתן להעביר לפונקציות ששמם args ו-kwargs. במדריך זה נסביר מהם.
big-O ביטוי ליעילות הקוד
אחד הנושאים החשובים ביותר שחייבים לעניין כל מתכנת הוא האם הקוד שלו יעיל. זה חשוב כי קוד לא יעיל מאט תהליכים ועלול לגרום לקריסה של המערכת. ביטוי big-O מתאר את התארכות משך הזמן של ביצוע משימה ביחס לגידול כמות המידע בו מזינים את התהליך. במדריך זה נציג כמה אופנים נפוצים לתיאור התארכות משך הזמן לביצוע הקוד ביחס לכמות המידע באמצעות ביטוי big-O notation.
FastAPI - היכרות עם ספרית הקוד הטובה ביותר של פיתון להקמת אפליקציות אינטרנט
FastAPI הוא פריימוורק חדש למדי של פייתון להקמת אפליקציות ברשת האינטרנט ובכל זאת הוא נחשב בעיני רבים לטוב שבהם. במדריך הנוכחי נקים API מאפס כולל: הוספה, קריאה, עדכון ומחיקה באמצעות הפריימוורק.
מדריכים נוספים בסדרה על FastApi
יצירת קשר בין קלאסים וטבלאות במסד הנתונים באמצעות relationships
פייתון מונחה עצמים
פייתון מונחה עצמים 1: מחלקות, אובייקטים, תכונות ומתודות
תכנות מונחה עצמים הוא סגנון כתיבה בו מקבצים את כל המשתנים והפונקציות של נושא מסוים בתוך מחלקה (class). סגנון זה נחשב ליעיל יותר מהסגנון הרגיל (הפרוצדורלי) של תכנות כי הוא גורם לקוד מאורגן יותר, הכולל פחות קוד ופחות חזרות. במדריך זה נלמד את אבני היסוד של תכנות מונחה עצמים: מחלקות, אובייקטים, תכונות ומתודות
פייתון מונחה עצמים 2: משתנה אובייקט ומשתנה מחלקה
בפייתון מונחה עצמים ישנם שני סוגי משתנים: משתני אובייקט (instance variables) ומשתני מחלקה (class variables). במדריך זה נסביר ונדגים את שניהם.
פייתון מונחה עצמים 3: הורשה
אחד המאפיינים של תכנות מונחה עצמים הוא שימוש בהורשה - העברת תכונות ומתודות ממחלקה הורה super class למחלקות היורשות אותה sub class. הורשה מיעלת את כתיבת הקוד, שאותו נכתוב פעם אחת בהורה ואחר כך נשתמש בו במחלקות היורשות במקום לכתוב את אותו הקוד שוב ושוב בכל מחלקה בנפרד.
פייתון מונחה עצמים 4: פולימורפיזם ושמות של מתודות
פולימורפיזם polymorphism הוא עיקרון תכנותי שאומר שאם מתודות מבצעות את אותו התפקיד אז צריך לקרוא להם בשם זהה. במדריך זה נלמד כיצד להשתמש בעיקרון בפייתון מונחה עצמים.
פייתון מונחה עצמים 5: קומפוזיציה
אחרי שבמדריכים קודמים בסדרת הפייתון למדנו את היסודות של תכנות מונחה עצמים ובפרט הורשה ופולימורפיזם, במדריך זה נכיר את עקרון הקומפוזיציה שאומר שאם רוצים לתת לאובייקט את התכונות של אובייקטים אחרים אז עדיף להשתמש בהכלה במקום בהורשה. במדריך זה נדגים את עקרון הקומפוזיציה בפייתון באמצעות שלוש דוגמאות שימושיות.
ואידך זיל גמור...
נתי גרוסמן בתאריך: 11.03.2020
מדריך פ33ההההה
מנדי בתאריך: 09.07.2020
יוסי תותח על תודה רבה על העזרה
יוסי בתאריך: 29.07.2020
ואו תודה!
ארי בתאריך: 02.08.2020
כל הכבוד על המדריך
מאד יפה ועזר לי מאד
בועז בתאריך: 04.10.2020
המדריך מסביר ממש טוב, רק שבלמידת שפה חדשה יש צורך רב לתרגל כדי להטמיע את המידע...
אם יש אפשרות להוסיף שאלות תרגול זה ממש יכול לעזור להוסיף את זה בהדרכות. חוץ מזה, המדריך ממש ממש ברור וענייני.
תודה רבה!
אשר בתאריך: 14.10.2020
יוסי יא מלך !
שלמה בתאריך: 02.11.2020
ברוך ה שיש אנשים טובים כמוך בעולם
נתי גרסימוב בתאריך: 03.11.2020
מדריך מדהים מקווה שתוסיפו עוד מידע על ספריות נוספות
שוש בתאריך: 04.11.2020
תודהה!!!!
עוזר לי מאוד!!
אליחי בתאריך: 14.12.2020
ואווו אין מילים איזה יופי באמת שאפו!
דוד בתאריך: 29.01.2021
תודה לך
שיעורים מדהימים.
אתה מתכנן אולי עוד שיעורים על בניית חלונות עם Tkinter?
יוסי בן הרוש בתאריך: 05.02.2021
הי דוד, אני מתעניין בפייתון בגלל השימוש בה לצורך למידת מכונה.
נעה בתאריך: 31.01.2021
הסבר מדויק, ברור ותמציתי. תודה רבה!
רק לא ממש הבנתי מה זה מילון בפייתון ומה הייחודיות שלו. כאילו בתמונה מה שרואים זה כמה משתנים עם ערכים מטיפוסים שונים, אז מה המילון בזה?
שבי בתאריך: 13.07.2021
יש אפשרות בפייתון לאתחל משתנה בפונקציה רק בפעם הראשונה שקראו לה
יוני בתאריך: 19.09.2021
תודה אין עליך אחלה אתר!!!
אביטל בתאריך: 12.10.2021
מדריך מעולה, מושקע ברור ומובן מאוד!
עדן בתאריך: 28.10.2021
אפשר לפתוח קובץ csv בתוך מחלקה כלשהי או רק מתוך ה main? הכוונה שבפונקציית ה init שלי אני אקבל 2 קבצים ואפתח ואקרא אותם ואהפוך לרשימה? או רק שב main אפתח אקרא ואהפוך לרשימה ואז ב init אקבל 2 רשימות?
כרמית בתאריך: 14.01.2022
מדהים
דן עוגן בתאריך: 22.06.2022
הגעתי לכאן במקרה, פשוט אתר מדהים! כיף ללמוד באמצעות מלל ולאו דווקא סרטונים ומגניב שזה בעברית! תודה לכם :)
ירון בתאריך: 10.07.2022
מדריך מושלם הכי טוב בעברית תודה רבה !
מאיר בתאריך: 26.07.2022
מקיף מאוד מאוד!! לא מצאתי עוד מדריך בכזה סדר גודל בעברית, וזה נחוץ ביותר.