פרק קודם:
פייתון 13 - שגיאותלמדנו שניתן להריץ קוד בתוך קובץ, הקבצים האלו בעלי הסיומת “.py”.
קבצי פייתון יכולים להכיל הצהרות של פונקציות.
הקובץ הזה הוא בעצם מודול.
למשל:
shapeMath.py
1 | def RectangleArea(a,b): |
main.py
1 | import shapeMath |
ב-shapeMath אנחנו מגדירים פונקציה שמחשבת שטח של מלבן.
לאחר מכן בקובץ שאנחנו נריץ אנחנו מייבאים אותו בעזרת המילה import.
המודול הזה נותן לנו את הפונקציה המתאימה לחישוב שטח של מלבן ולכן ניתן להשתמש בפונקציה.
ניתן לראות את זה כשיחה בין שני מודולים.
מכיוון שאנחנו שומרים על עקרון האחריות היחידה אנחנו מפצלים את האחריות של החישובים למודול אחר.
עקרון האחריות היחידה היא חלק מעקרונות SOLID.
העקרון מצביע על מצב של קוד שכל קטע קוד אחראי על תחום אחד בלבד.
כמו שראינו את השימוש בקבצים ניתן לפצל את השמירה לקובץ מתוך קריאת מידע מרשימה.
היתרונות שזה נותן לנו:
המודול הראשי שואל: “מי יכול לחשב לי את השטח של המלבן?”
המודול השני עונה “לי יש פונקציית חישוב”
המודול הראשי מייבא ומשתמש בפונקציות.
ניתן לייבא הצהרות ממודול כשלא צריך את כל המודול.
למשל במקרה שמודול הוא גדול ואנחנו לא צריכים את כולו.
1 | from shapeMath import RectangleArea |
אנחנו מייבאים את השם הספציפי שאנחנו משתמשים בו, שימו לב שהשינוי המהותי הוא שאנחנו לא צריכים להגיד מאיפה הפונקציה.
בלי:
1 | import shapeMath |
עם:
1 | from shapeMath import RectangleArea |
לפייתון יש משתני מערכת - משתנים עם שמות מיוחדים שנותנים לנו יכולת לבדוק ולהדפיס מידע.
המשתנים האלו בעלי שני קווים תחתוניים __ מכל צד.
1 | if __name__ == "__main__": |
כשמריצים את הקובץ הראשי:
1 | PS C:\a> python main.py |
כשמריצים את הקובץ המשני:
1 | PS C:\a> python shapeMath.py |
המשתנה הזה בעצם אומר איזה קובץ רץ ואם הקובץ הראשי רץ הוא מקבל את השם
1 | __main__ |
כשיש לנו סקריפט שיכול לרוץ או להיות משומש כמודול - ניתן לבדוק בעזרת המשתנה הזה איזה קובץ רץ.
חשבו על מודולים שניתן לבנות בתכנות כדי לעזור בכל מיני פעולות.
בעצם תחשבו על איגודים לוגיים של פעולות, למשל הדוגמא הכי קלאסית היא פונקציות מתמטמיות.
אילו עוד פעולות אתם יכולים לחשוב עליהם?
להלן רשימה של פוקנציות, תאגדו אותם למודולים ותנו שם למודולים האלו:
יש הרבה מאוד דוגמאות - פשוט תחשבו על האופי המשותף של חלק מהדברים למשל קבצים ותיקיות זה בדרך כלל בא יד ביד.
Shapes:
Input:
Files:
זהו תרגיל די פשוט אבל בכוונה עשיתי אותו ככה כדי שיהיה לכם את הידע הראשוני לזהות מה “זהה” ומה “שונה”.
זהו עקרון מאוד חשוב בתחום עיצוב התוכנה:
תזהה מה שונה ומה דומה ותאגד אותם בהתאם.
בפרק הבא נלמד על תבניות רגקס - חיפוש בתוך טקסט.
פייתון 15 - רגקסים