לאחר זמן מה שבו לא פרסמתי מאמר,
הגיע הזמן לפרסם משהו חדש, הפעם ארצה לפרסם סדרה של מאמרים המסבירים על תוכנת Python.
המאמר, יהווה מבוא לסדרת מאמרים בנושא שפת התכנות פיתון, נלמד קצת על השפה עצמה, נלמד להתקין ולעבוד עם סביבות שונות ולהתממשק בצורה נכונה ל windows.
הסיבה שבגינה אני רוצה ללמד על Python היא משום שPython הוא כלי מאוד טוב להתמקדות ולפיתוח בתחום ה Hacking והסייבר ומבלי לשרוף זמן (שלא תמיד יש) על הגדרות משתנים והקצאות זיכרון ועוד אלף ואחד דברים הקיימים בשפות תכנות אחרות.
בקצרה על השפה
Python נבנתה בתחילת שנות ה 90, השפה הינה שדרוג של שפת ABC (שפה שהיוותה שדרוג לשפת basic ופסקל).
שמה של השפה ניתן לה כמחווה על שמה של קבוצת בדרנים בריטית Monty Python (בדומה לגשש החיוור שלנו).
לשפה קיימות שתי גרסאות עיקריות :
- 7.x – גרסה זו הינה הגרסה הפופולארית והוותיקה יותר, גרסה זו כבר אינה עוברת שדרוגים אלא עדכונים קלים ותיקוני שגיאות.
- x.x- הגרסה החדשה של השפה .
ההבדל המרכזי בין הגרסאות הינו אופן השימוש וטיפול במחרוזת תווים, ישנם הבדלי קוד בשפה עצמה (לדוגמא, אופן הדפסת פלט או קליטת קלט).
במאמר זה, ובמאמרים הבאים אתעסק בגרסה המוכרת יותר של שפת התכנות – 2.7.5 Python
לכן, במידה ולא רשום אחרת, זאת הסביבה שיש לעבוד עליה, אחרת הקוד עלול לא לרוץ כמצופה.
לשפה יש מספר יתרונות מרכזיים :
- שפה נוחה ופשוטה
- כתיבת קוד קצר לשם שמירה על זמן פיתוח מהיר
- הקוד הנכתב אמור להיות מסודר ומובן ופשוט
- פשטות ואחידות
שפת Python נחשבת לשפת עילית, אשר אינה עוברת תהליך הידור (המרה לקובץ הרצה כגון קבצי exe) אלא שפה מפורשת – interpreted , כלומר, שפה הנקראת שורה אחרי שורה. מכאן נובע שעל מנת שאוכל להריץ סקריפט של Python אצטרך להתקין את ה- interpreter של השפה.
ה – interpreter הוא הכלי אשר בפועל יריץ את התכונה.
באחד מהמאמרים הבאים, אדבר על חבילה שנקראת py2exe אשר מאפשרת לעטוף את הסקריפט שרץ ב interpreter לקובץ שירוץ באמצעות מערכת ההפעלה, ובצורה הזאת נוכל לבנות קובץ "exe " המדמה קובץ הרצה, ורץ ללא צורך בהתקנת התוכנה המתאימה ל Python.
שפת Python תומכת במספר סגנונות פיתוח מרכזיים ובניהם: פרוצדורלי, פונקציונאלי ותכנות מונחה עצמים (קצת התפלאתי לגלות שבאוניברסיטת תל אביב, מלמדים תכנות מונחה עצמים ב Python)
סידור הקוד בשפה הינו דבר מרכזי וחשוב, ההזחה היא זאת שתקבע באיזה חלק בקוד(בלוק) השורה עצמה נמצאת (משפט קצת מורכב שנבין בהמשך).
עבודה במערכת הפעלה מסוג WINDOWS
בחלק זה של המאמר אציג כמה אפשרויות להרצת קוד Python,
התחלתי עם מערכת ההפעלה של חברת מיקרוסופט ולא ממערכות ההפעלה אחרות מהסיבה שלהריץ דרכן קוד של Python זה לא הדבר הלגיטימי , נסקור כמה אפשרויות להרצה:
- אפשרות ראשונה:
interpreter פשוט הניתן להורדה מאתר הבית –”IDLE”.
לינק להורדה: https://www.python.org/downloads/release/python-2710
לינק מלא: https://www.python.org/ftp/python/2.7.10/python-2.7.10.msi
אעבור בזריזות על תהליך ההתקנה:
פשוט נלחץ כל הזמן על next :
לאחר ההתקנה נוכל לראות כי בתיקיה c:\python27 יש את כל קבצי התוכנה .
בכדי להתחיל את העבודה בצורת CLI נוכל להריץ את הקובץ python.exe .
לשם בדיקה נוכל להריץ פקודה שתדפיס למסך:
זאת התוכנה שתוכל להריץ לנו את הסקריפטים שנבנה בהמשך .
אני מניח שלפחות לחלק ממכם עולה השאלה, האם ככה נצטרך לבנות את הסקריפט ? מה חזרנו ל?DOS אז כמובן שלא , תנו לי להכיר לכם את הכלי הראשון שתעבדו איתו.
לאחר פתיחת ה interpreter – "”IDLE , נקבל חלון חדש :
בתוכנה עצמה נלך ל file –> new file ונפתח חלון כתיבה חדש
שם נקליד שוב פקודת הדפסה ונריץ אותה ע"י לחיצה על F5 או לחילופין: run -> Run module
הדבר הבא שיקרה , נתבקש לשמור את הסקריפט לאחר שמירה נוכל לראות שהסקריפט שלנו באמת רץ :
מזל טוב לנו !!
הוספת התוכנה אל משתני הסביבה של המערכת :
בעתיד נרצה להריץ סקריפטים דרך חלון ה- CMD , על מנת לעשות זאת בקלות נוסיף את התוכנה של Python למשתני הסביבה של המערכת שלנו :
: My Computer > Properties > Advanced System Settings > Environment Variables
תחת משתנה ה path נוכל להוסיף את התיקייה שבה התקנו את התוכנה המריצה את הסקריפטים,
במקרה שלי זה יהיה c:\python27.
כך הערך של המשתנה הסביבתי אמור להראות לאחר השינוי:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\python27;
מה עשינו בעצם ?, אפשרנו להריץ כל סקריפט Python אשר נמצא תחת התיקייה c:\python27 מכל מקום מבלי לתת את המיקום המפורש של הקובץ.
נבדוק שאכן בוצע הדבר,
לפני השינוי
ניתן לראות שאי אפשר למצוא את הפקודה”python” .
לאחר השינוי :
ניתן לראות שעכשיו חלון ה CMD מכיר את הפקודה.
עד עכשיו התקנו והגדרנו את התוכנה הבסיסית אשר מריצה את הסקריפטים שלנו,
רשמנו סקריפט בסיסי המדפיס הודעה נחמדה.
אני רוצה שתכירו תוכנה נוספת אשר תקל עלינו בכתיבת הקוד:
PyCharm :
התוכנה תעזור לנו במציאת שגיאות בקוד, בהשלמה אוטומטית ועוד.
תהליך ההתקנה פשוט וקל, ניתן להוריד את התוכנה מהלינק : https://download.jetbrains.com/python/pycharm-community-5.0.4.exe