פייתון, מאיפה להתחיל?

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

מהו פייתון?

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

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

מכיוון ששפת פייתון בנויה על גבי מבנים רבים של נתונים ומשתנים היא הופכת להיות אטרקטיבית בכל הנוגע ליישומים מהירים שמאפשרים "התאמה מהירה" של רכיבים וקוד קיים.

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

טיפ: מכיוון שפייתון עובד בצורה של מודולים, לצורך הענין תוכניות שנכתבו מראש ונשמרו מאפשרות לעשות בהן שימוש חוזר בתוכניות אחרות.

לצד זה שפייתון נחשבת לשפה בעלת סינטקס קריא ונחשבת באופן יחסי לשפה שאינה קשה ללמידה ביחס לשפות אחרות, פייתון עדיין מצריכה הבנה בכל אותם עקרונות שמאפשרות לה להיות שפה חזקה מאוד בעלת יכולות חישוביות חזקות והיא נחשבת כיום לכלי חובה או בעל יתרון חובה בתחומים שונים כדוגמת: Data Science, Big Data ובינה מלאכותית.

התחומים של Data Science, Big Data ובינה מלאכותית דורשים תהליכים שונים, חישובים מהירים וניתוח מידע מהיר על כמויות לא מוגבלות של מידע, למשל פייתון מאפשר לעבוד עם ניתוח מידע סטטיסטי.

לצד זה פייתון יכול לעשות כמעט כל דבר אחר החל מפיתוחי אפליקציות + WEB, ממשקים גרפים, פיתוח אלגוריתמים, משחקי משחב וכן הלאה. פייתון נחשבת לשפת "General Purpose Language" שאיתה אפשר לעשות כמעט כל דבר.

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

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

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

האם כדאי ללמוד פייתון?

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

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

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

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

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

דגשים לשימוש בפייתון

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

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

דוגמה נוספת היא עבודה עם TensorFlow על גבי פייתון – דוגמה נוספת היא עבודה עם ספרית TensorFlow.

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

הספרייה TensorFlow עובדות עם API לשפות תכנות C ו-Python, ועוד רבות אחרות, והחישובים בספרית קוד של TensorFlow מיוצגים על ידי זרימת מידע דרך גרף מצבים, ולכן המידע מיוצג ביחידות של טנזורים, מערכים רב-ממדיים, ואגב משם נובע השם של הספריה של המילה Tensor – מערך רב ממדי, והמילה Flow – זרימה.

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

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

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

איך מתחילים

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

מאמרים נוספים שיעלו בקרוב

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

 

1 Response

  1. 11/09/2020

    […] הקודמים התקדמו במאמר מקדים של פייתון, מאיפה להתחיל? ובמאמר של התקנת פייתון ושילוב עם VSCode עם המון דגשים […]

מה דעתך?

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