אודות הקורס
החל מתכנות מונחה עצמים, ועד אוטומציות, ניהול שגיאות ויצירת ממשקים גרפיים - לפייתון יכולות רבות שצריך להכיר ולדעת לנצל אם רוצים להתקדם לשלב הבא כמפתחי פייתון, ולהתחיל לפתח תכניות מתקדמות יותר.
הקורס מקנה למשתתפיו ידע והכרות עם נושאים מתקדמים ומושגים חשובים מעולם התכנות,
ויישומם בשפת פייתון. נעבור על נושאים כגון תכנות מונחה עצמים, ביטויים רגולריים, ניהול שגיאות, פונקציות אנונימיות, variable scope, comprehensions ועוד, נסביר מה הם, למה הם משמשים תוך מתן דוגמאות פרקטיות וכמובן כיצד ניתן ליישם אותם בפייתון.
כל אחד מהנושאים מלווה בתרגול רב.
קורס זה מיועד לאנשים בעלי היכרות בסיסית עד טובה עם שפת פייתון ומעוניינים לעסוק בפיתוח מתקדם יותר, לייעל ולשפר את עבודתם ו/או להרחיב את ידיעותיהם בשפה.
קהל היעד
יעדי הקורס
-
למידת נושאים ומושגים, מתקדמים אך עדיין חיוניים, מעולם התכנות ויישומם באופן פרקטי בשפת פייתון.
-
הבנת היסודות של תכנות מונחה עצמים ושילובם בתכניות רחבות יותר.
-
הרצת תכניות כבדות תוך ניצול טוב יותר של משאבי המערכת באמצעות
multiprocessing ו- multithreading. -
ביצוע ניתוחים וסינונים מתקדמים על טקסטים באמצעות ביטויים רגולריים
-
יצירת מערכים חדשים וביצוע מניפולציות על מערכים קיימים באמצעות פונקציות
אנונימיות ו-comprehensions. -
יצירת ממשקים גרפיים ועבודה עם אלמנטים אינטראקטיביים.
על מנת להבין את הנושאים המתקדמים שנעסוק בהם בקורס, נדרש ידע קודם בתכנות בכלל ובשפת פייתון בפרט.
דרישות קדם
סילבוס
מבני נתונים משופרים עם ספריית Collections
-
רקע על ספריית Collections
-
Ordered dictionary
-
named tuple
-
Counter
-
Default Dictionary
-
Deque
Comprehensions
-
הגדרת ה-Comprehensions ומטרתם
-
תחביר של List Comprehensions בסיסי
-
יצירת מערכים באופן לוגי
-
יצירת מילונים בעזרת Comprehensions
-
קינון Comprehensions
ביטויי Lambda
-
מהו ביטוי Lambda
-
מטרת ביטויי Lambda ושימושים נפוצים
-
שילוב ביטויי Lambda בפונקציות אחרות
-
Map
-
Reduce
-
Filter
-
פונקציות שימושיות לעבודה עם מערכים
-
All
-
Any
-
Zip
-
Enumerate
עבודה עם תאריכים וזמן
-
היכרות עם ספריית time
-
היכרות עם ספריית datetime
-
יצירת אובייקטים של זמן ותאריך ממחרוזות
-
הגדרת תאריכים בעזרת חישובים
-
חילוץ אלמנטים מתוך תאריכים
-
חישובים על תאריכים וחישוב הפרשים בין תאריכים
-
קריאה והצגה של תאריכים בפורמטים שונים
ניהול שגיאות
-
הצורך בניהול שגיאות מסודר
-
התחביר של בלוק ניהול שגיאות
-
קבלת אינפורמציה משגיאות
-
התאמת התכנית לסוגי שגיאות שונים
-
הפסקת תכנית באופן יזום
-
יצירת שגיאות משתמש ושימוש בהן
עבודה מול מערכת הקבצים
-
קריאת קבצי טקסט
-
יצירה קבצי טקסט וכתיבה לקבצים קיימים
-
יצירת תיקיות ושינוי שמות של קבצים
-
מחיקת קבצים ותיקיות
-
קבלת אינפורמציה על קבצים ותיקיות
בסיסי נתונים
-
חיבור לבסיסי נתונים רלציוניים (טבלאיים) מסביבת פייתון
-
שליפת נתונים לתוך מערכים
תכנות מונחה עצמים (OOP)
-
מבוא ל-OOP
-
יצירת מחלקות
-
הגדרת מאפיינים לאובייקט
-
יצירת מתודות
-
משתני מחלקה
-
מתודות סטטיות
-
תורשה
-
Getters & Setters
ביטויים רגולריים
-
יתרונות בשימוש ביטויים רגולריים על פני חיפושים "רגילים"
-
יצירת Match Object
-
תבניות בסיסיות
-
Match VS Search
-
מציאת התאמה ליותר מתבנית אחת
-
שליפת התאמות מרובות
-
איתור מיקום תבנית
-
תווים מיוחדים (Wild Cards)
-
הגדרת תבניות בעלות תווים חוזרים
-
קבוצות וסטים
-
שימוש בביטויים רגולריים לביצוע
החלפות תווים ופיצול מחרוזות
עבודה עם קבצי אקסל
-
ספריות נפוצות לעבודה עם קבצי אקסל
-
פתיחת קבצי אקסל (גיליון ראשון, גיליון מסוים, כל הגיליונות)
-
איחוד גיליונות לקובץ יחיד
-
איחוד קבצים שונים לקובץ אקסל יחיד
-
פיצול קובץ לגיליונות שונים
multiprocessing & multithreading
-
שימוש ב"פתילים" (Threads) שונים כדי לייעל ריצת תוכנית
-
איחוד פתילים
-
יצירת תהליכים (Processes)
-
שימוש בעיבוד מקבילי
-
נעילות
-
פתילים מול תהליכים - מתי להשתמש בכל אחד?
יצירת ממשקים גרפיים (GUI)
-
יצירת חלון מרכזי
-
יצירת כפתורים וחיבורם לפעולות בעזרת פונקציות
-
צורות שונות לקבלת אינפורמציה ממשתמשים
-
אלמנטים נוספים
-
עימוד (Layout)
-
עיצוב האלמנטים השונים