December 5, 2020

פייתון 1 - ההתחלה


ברוכים הבאים

פייתון היא אחת השפות המדוברות כיום בתעשייה.
הדרך שלה לאקדמיה ולתעשייה הרשימה רבים — בזכות הפשטות והמגוון הרחב שהיא מציעה:
Machine Learning, AI, Data Science, Web Apps, Mcp servers, GUI, Administration וכדו’…

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

ובכן גם כמה דוגמאות מהניסיון האישי שלי:

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

למה פייתון

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

למה לי ללמוד כאן?

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

מה נלמד בפרק הראשון

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

כיצד להתקין את פייתון

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

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

במערכת הפעלה Windows

ניתן להוריד את פייתון מהלינק הבא:
https://www.python.org/downloads/

תבחרו בהורדה:

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

במערכת הפעלה MacOS

במערכת הפעלה MacOS יש תוכנה פשוטה שעוזרת לנו להתקנות והיא - Brew.

https://docs.brew.sh/Homebrew-and-Python

כל מה שעליכם לעשות זה לכתוב

1
brew install python

במערכת הפעלה מבוססת לינוקס

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

1
2
sudo apt update
sudo apt install python3 python3-pip

הקוד הראשון שלי

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

דרך אתר אונליין

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

פשוט חפשו באתר האהוב עליכם Online python!
למשל כלי אינטרנטי שניתן להשתמש בו:
https://www.programiz.com/python-programming/online-compiler/

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

חלון פקודות

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

לאחר מכן הקישו את המילה CMD ולחצו אישור:

אחרי ההתקנה תכתוב בחלון שנפתח את הפקודה python והקישו אנטר:

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

שלום עולם

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

1
print("Hello World")

נסו בעצמכם!


מה זה אומר להריץ קוד

בתכנות נהוג לומר ש״מריצים קוד״ – כלומר, גורמים למחשב לבצע בפועל את ההוראות שכתבנו.
הקובץ שבו כתוב הקוד הוא רק מתכון – הוא לא ״עושה״ שום דבר עד הרגע שבו לוחצים על כפתור ההרצה ▶ או מקישים פקודה שגורמת למחשב לבצע את אותם צעדים אחד-אחד.

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

כשתכתבו את התוכנית הראשונה שלכם ותלחצו “Run” – גם הקוד שלכם ירוץ, והמחשב יבצע אותו ממש כמו שהוא מבצע מיליוני פעולות אחרות בכל רגע.

כיצד מריצים קוד אשר נמצא בקובץ?

  1. יוצרים קובץ טקסט
  2. משנים לו את השם והסיומת לpy.
  3. עורכים אותו.
  4. כותבים את הקוד שאנחנו רוצים.
  5. מריצים את הפקודה python עם הנתיב לקובץ.

על עורכי טקסט בסיסיים

בשביל לערוך את הקובץ אנחנו צריכים עורך טקסט.
בכל מחשב יכול להיות תוכנה אחרת אך הכי בסיסי זה notepad או בעברית “פנקס רשימות”.

שלבים 1 - 4

1
python code.py

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

שלב 5:

עזרים שימושיים

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

הכלים האלו נקראים - Integrated Development Environment או IDE בקיצור.
אלו סביבות פיתוח המעניקים לנו יכולות מגוונות וכלים כדי לכתוב ולתכנן קוד.
כמה מהיכולות:

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

Visual Studio Code

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

להורדה

להוריד את ההרחבה לפייתון:

כתיבת קוד

הדרך הכי פשוטה זה לפתוח תיקייה ויצור שם קובץ פייתון חדש:

או שמתוך תיקייה:

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

להריץ קוד

בעזרת Terminal

פותחים את הterminal - שהוא הCMD.
ואז כותבים את פקודת הפייתון להרצה.

בעזרת F5

אם התקנתם את ההרחבה של פייתון לVSCODE בצורה טובה תוכלו ללחוץ F5 וזה ישלים לכם להרצת קובץ.
לחצו על הרצה והוא יריץ לכם את הקובץ הנבחר שלכם!

PyCharm

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

להורדה

פרוייקט חדש

בחרו ליצור פרוייקט חדש:

בחרו מיקום לפרוייקט:

אם סימנתם את האופציה ליצור קובץ main.py תמחקו בינתיים את מה שיש בו.
לאחר מכן כתבו את קטע הקוד הפשוט עם פונקציית print():

פרוייקט

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

קוד

בחלון הזה נכתוב את כל הקוד.

תוצאה

כאן נראה את כל מה שמודפס מהקוד.

הרצה של הקוד

כפתור ההרצה מריץ את הקוד הנבחר,
וכפתור הדיבוג - שנראה כמו חיפושית - הוא הכפתור שיריץ לנו את זה במצב “דיבאג”.
במצב זה נוכל להסתכל בזמן עצירה על הקוד שלנו.
על מנת להוסיף נקודת עצירה הנקראת - Breakpoint - ניתן להשתמש ב Ctrl+F8.

ככה זה נראה:


PIP

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

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

המוטו של חבילות הוא -

אל תמציאו מחדש את הגלגל

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

כיצד מתקינים חבילות פייתון

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

  1. לכתוב את הקוד לבד
  2. להעתיק את הקוד ממישהו אחר
  3. לבדוק אם יש חבילה כזו!

שלב 3 יהיה עבורנו הכי פשוט!
אחרי שמצאנו חבילה כזו בשם camelcase נוכל להתקין את החבילה באופן הבא:

1
pip install camelcase

סרטון המדגים כיצד מתקינים:

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

1
2
3
4
5
import camelcase

c = camelcase.CamelCase()
txt = "this is small text"
print(c.hump(txt))

קיימות אלפי חבילות (Packages) בפייתון שמבצעות פעולות מגוונות עבורנו.
בהמשך נעסוק בהן לעומק, אבל בשלב זה חשוב רק לזכור את קיומו של הכלי pip, שמאפשר להתקין חבילות בקלות במקום לכתוב הכול מאפס – לא צריך להמציא את הגלגל בכל פעם מחדש.
שימו לב לשימוש במילה import – עוד ניפגש בה לא מעט בהמשך!
בשלב זה אין צורך להבין לעומק את הקוד שמופיע מעלה – לכל דבר נגיע בזמן המתאים.


פרוייקט לדוגמא בפייתון - משחק סנייק

נראה דוגמא לקוד בפחות מ50 שורות למשחק סנייק המפורסם!

מתקינים בעזרת pip את החבילה freegames.

הפקודה:

1
pip install freegames

תעתיקו את הקוד הבא והריצו אותו לפי המומחיות שלכם, כי עשיתם את זה כבר פעמיים!
פעם שלישית גלידה 🍦

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
"""Snake, classic arcade game."""

from turtle import *
from random import randrange
from freegames import square, vector

food = vector(0, 0)
snake = [vector(10, 0)]
aim = vector(0, -10)

def change(x, y):
"Change snake direction."
aim.x = x
aim.y = y

def inside(head):
"Return True if head inside boundaries."
return -200 < head.x < 190 and -200 < head.y < 190

def move():
"Move snake forward one segment."
head = snake[-1].copy()
head.move(aim)

if not inside(head) or head in snake:
square(head.x, head.y, 9, 'red')
update()
return

snake.append(head)

if head == food:
print('Snake:', len(snake))
food.x = randrange(-15, 15) * 10
food.y = randrange(-15, 15) * 10
else:
snake.pop(0)

clear()

for body in snake:
square(body.x, body.y, 9, 'black')

square(food.x, food.y, 9, 'green')
update()
ontimer(move, 100)

setup(420, 420, 370, 0)
hideturtle()
tracer(False)
listen()
onkey(lambda: change(10, 0), 'Right')
onkey(lambda: change(-10, 0), 'Left')
onkey(lambda: change(0, 10), 'Up')
onkey(lambda: change(0, -10), 'Down')
move()
done()

תריצו והחלו לשחק!

ניתן למצוא עוד משחקים באתר:
Grantjenks


כיצד להמשיך ללמוד?

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

משתנים או כפי במתמטיקה קוראים להם “נעלמים” אלו קופסאות קטנות האוגרות ערכים.
עוד על קופסאות וערכים - הכל בפרק 2:

פייתון 2 - משתנים

מקורות אחרים

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

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

קורס שעובד עם Jupyter notebooks:
קורס מוכן בעברית

אתר פופולרי להרבה מדריכים - כתוב בצורה מאוד פשטנית ובאנגלית.
w3schools

קורס מובנה חינמי בעברית:
CampusIL

ערוץ ישראלי בעברית - למי שאוהב ללמוד מסרטונים.
Metallicode

אז איך להמשיך?

המשיכו לפרק השני -

פייתון 2 - משתנים

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

פשוט נסו, אם לא עובד תנסו משהו אחר.

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

על הפוסט

הפוסט נכתב על ידי Ilya, רישיון על ידי CC BY-NC-ND 4.0.

שתפו את הפוסט

Email Facebook Linkedin Print

קנו לי קפה

#Software#Python