קורס פייתון בסיסי

מבוא לשפת פייתון ועקרונות בתכנות

אודות הקורס

פייתון (Python) פייתון היא שפת תכנות מונחית עצמים רבת עוצמה, בעלת שימושים רבים ונפוצה מאוד בכמעט כל פלטפורמה שקיימת. למרות זאת פייתון נחשבת לאחת השפות הקלות ללמידה בשל התחביר הפשוט והנקי שלה. פשטות ויעילות השפה הפכו אותה לאחת הפופולריות בעולם והיא נמצאת בשימוש רחב מאוד במגוון גדול של תחומים.

בשל יכולות החישוב הגבוהות שלה פייתון נחשבת כיום לכלי חובה בתחומי ה- Big Data,
בינה מלאכותית, ניתוח נתונים ולמידת מכונה - תחומים הדורשים ביצוע ניתוחים וחישובים מהירים על כמויות עצומות של מידע. מעבר לתחומים האלה, פייתון נמצאת בשימוש נרחב בתחומי הסטטיסטיקה, פיתוח web ואפליקציות (בעיקר צד שרת), רשתות, סייבר ואפילו פיתוח ממשקים גרפיים ומשחקים.

קורס זה מקנה למשתתפיו ידע בסיסי אך מעשי בשפת פייתון ומכשיר אותם לתחילת עבודה עם השפה. הקורס כולל תרגול רב ומיועד לחסרי ניסיון ומפתחים מנוסים כאחד.

הקורס מתחיל ממבוא לתכנות ומציג מושגים כלליים רבים מעולם המחשוב ולכן מתאים מאוד לאנשים אשר לא התנסו בתכנות מעולם. בנוסף, הקורס יתאים לאנשים בעלי הכרות עם שפות תכנות אחרות אשר מעוניינים להתחיל לפתח גם בפייתון.

קהל היעד

יעדי הקורס

  • לימוד של נושאים ומושגים כלליים מעולם התכנות אשר ישרתו את הסטודנטים כמבוא לעולם הפיתוח ויסייעו להם בכל שפה שירצו ללמוד בעתיד.

  • במסגרת הקורס ילמדו המשתתפים לכתוב תכניות פייתון מאפס, תוך שימוש באחת מסביבות הפיתוח הנפוצות ביותר בתעשייה.

  • לימוד כללי תחביר נכונים, שימוש נכון בהזחות, הטמעת לוגיקה בתוכניות, תכנון יעיל של קוד.

  • עבודה יעילה עם מגוון סוגי המערכים של השפה.

  • שימוש ויצירה של פונקציות משתמש

  • קריאה וכתיבה של קבצי טקסט.

לא קיימות דרישות קדם לקורס זה. רקע בשפת תכנות אחרת מהווה יתרון.

דרישות קדם

סילבוס

מבוא 

  • מה זה פייתון

  • יתרונות השפה

  • סקירה היסטורית

  • התקנה והכרות עם סביבת העבודה
     

 הדפסות וליטרלים

  • הפונקציה print

  • צורות הדפסה

  • תווים מיוחדים

  • מספרים, מחרוזות וביטויים בוליאניים

  • חישובים בסיסיים ושרשורים
     

משתנים

  • מהם משתנים

  • אתחול ועדכון משתנים

  • עבודה עם משתנים ושילובם ביטויים מורכבים יותר

מודולים / ספריות

  • מה זה ספריה ומה תפקידה

  • היתרונות בשימוש בספריות

  • הספרייה הסטנדרטית VS מאגר הספריות הכללי

  • יבוא ושימוש בספריות

  • כיצד למצוא את הספרייה המתאימה
     

מחרוזות ומספרים

  • זיהוי סוג אובייקט באמצעות type

  • פונקציות VS מתודות

  • ביצוע מניפולציות על טקסטים

  • הרכבת מחרוזות דינמיות בעזרת f-strings

  • המשמעות של ערכים מסוג Immutable

  • יצירת ערכים אקראיים

  • חישובים מתקדמים על מספרים
     

קבלת מידע ממשתמשים

  • הפונקציה input

  • אחסון מידע משתמש ושימוש בו

  • המרות ערכים מטיפוס מסוים לטיפוס אחר

חיתוכי טקסט (Slicers​)

  • חיתוך מחרוזות באמצעות הגדרת טווחים

  • חיתוך תווים ב"מרווחים" קבועים

  • היפוך מחרוזות

  • שליפת חלקים מתוך מחרוזת באופן דינמי

  • חילוץ תו מתוך מחרוזת

בקרת זרימה​

  • מטרת הלוגיקה בתכנות

  • הגדרת תנאים

  • שימוש בביטויים בוליאניים מורכבים

  • הגדרת תרחישים מרובים באמצעות elif/else

  • תנאים מקוננים

  • לולאות while

  • לולאות for

  • שילוב לולאות ותנאים

  • לולאות מקוננות

מבני נתונים

  • מה זה מערך

  • תפקיד המערכים בפייתון

  • רשימות

    • הגדרת רשימות

    • ניהול ערכים ברשימות

    • ביצוע פעולות ומניפולציות על רשימות

    • מתודות ייעודיות

  • טאפלים

    • ההבדל בין טאפל לרשימה

    • התנהלות מול טאפלים ושימושים נפוצים

  • מילונים

    • תחביר

    • שימושים נפוצים ודוגמאות פרקטיות

    • ניהול נתונים במילונים

    • מתודות ייעודיות

    • שימוש במילונים כדי לייצר

    • פונקציונליות switch

  • סטים

    • מאפיינים יחודיים

    • שימושים נפוצים

    • ניהול ערכים בסט

    • ביצוע השוואות בין קבוצות (Set Operations)​

 

יצירת פונקציות

  • מהי פונקציה

  • התועלת בהגדרת פונקציות משתמש

  • מבנה ותחביר בסיסי

  • הגדרת פרמטרים

  • הוספת ערכי ברירת מחדל

  • הגדרת Docstrings

  • פקודת ה-Return

  • טווח משתנים (Variable Scope)

  • קריאה לפונקציות מתוך פונקציות

עבודה עם קבצים

  • גישה לקובץ מתוך פייתון

  • יצירת File Object

  • נתיב מוחלט מול נתיב יחסי

  • מציאת נתיב פעיל (Active Directory) בעזרת ספריית OS

  • קריאת קבצי טקסט בצורות שונות

  • יצירת קבצים

  • כתיבה לקבצים קיימים
     

יום מעשי
עבודה עם קבצי תמונה

  • גישה לתכונות הקובץ

  • שינוי מימדי התמונה

  • חיתוך תמונות

  • סיבוב והיפוך

  • שינוי צבעוניות

  • הוספת אפקטים (פילטרים) שונים

  • מיזוג תמונות

  • כתיבה על תמונות

  • שמירת תמונות ערוכות
     

יצירת אפליקציית web
במסגרת מודול זה יבנו המשתתפים 2 אפליקציות מאפס - מחולל סיסמאות

ואפליקציה לעריכת תמונות בצורה גרפית (ללא שימוש בקוד)

  • יצירת אפליקציה על שרת מקומי באמצעות ספריית streamlit

  • יצירת אלמנטים גרפיים כגון כותרות, פאנלים, טפסים, כפתורים ועוד.

  • קבלת מידע מהמשתמש במגוון דרכים.

  • שליפת נתונים באופן דינמי והצגתם בפורמט טבלאי לפי בקשה.

  • ייצוא נתונים לקבצי אקסל בלחיצת כפתור

  • העלאת האפליקציה לשרת פומבי