משתנים

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

variable meme

השמה#

כדי להקצות ערך למשתנה בפייתון (השמה, Assignment) פשוט נשתמש בסימן השיוויון =. לדוגמה:

זה מקצה את הערך השלם 5 למשתנה x. ניתן להתייחס למשתנה הזה מאוחר יותר בתוך התוכנית:

בנוסף, אפשר להמשיך ולהשתמש במשתנה בשביל להגדיר משתנים חדשים:

למה להשתמש במשתנים?#

נניח שאנחנו כותבים תוכנית שמחשבת את ההיקף (perimeter) והשטח (area) של מעגל. נזכר לרגע במשוואות המעגל:

circleperimeter2πrcircle \,\, perimeter \rightarrow 2 \pi r
circleareaπr2circle \,\, area \rightarrow \pi r^2

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

Tip

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

כתיב מתמטי מקוצר בעזרת משתנים#

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

לדוגמא עבור אופרטור החיבור:

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

ShorthandFull Code
x += 3 x = x + 3
x -= 3 x = x - 3
x *= 3 x = x * 3
x /= 3 x = x / 3
x %= 2 x = x % 2
x **= 3 x = x ** 3
x //= 3 x = x // 3

שמות משתנים#

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

  • שמות משתנים חייבים להתחיל באות או קו תחתון. לא ניתן להתחיל במספר.
  • שמות משתנים יכולים להכיל אותיות גדולות וקטנות, אך יש הבדל בין האותיות הגדולות לקטנות. my_var ו-My_Var הם שני משתנים שונים.
  • שמות משתנים לא יכולים לכלול רווחים. במקום זאת, ניתן להשתמש בקו תחתון כדי להפריד בין מילים.
  • לפייתון יש כמה מילים שמורות שלא ניתן להשתמש בהן כשמות משתנים, כגון if, else, while וfor
רשימה מלאה של כל 35 המילים השמורות נכון לגרסת python3.11

False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield

הנה עוד כמה דוגמאות לשמות משתנים:

שמות טוביםשמות שיגרמו לשגיאה
my_var2cool
myVar2for
MY_VARmy-var
_my_varmy var

קונבנציות לשמות משתנים#

  • שמות משתנה עם כמה מילים נהוג לכתוב באותיות קטנות עם קו תחתון בין מילה למילה (נקרא snake case). לדוגמא:
  • אם המשתנה הוא מספר ידוע או קבוע לאורך הריצה נהוג לכתוב אותו באותיות גדולות וקו תחתון בין מילה למילה. נהוג לכנות משתנים שכאלו בשם constants. לדוגמא:

תרגילים#

תרגיל 1- Rectangle calculations#

נחשב את השטח וההיקף של מלבן.
בקוד קיים משתנה בשם width שמייצג את הרוחב של המלבן. הוסיפו משתנה בשם height המייצג את אורך המלבן והכניסו אליו את המספר 7. הוסיפו משתנים בשם area, perimeter המחשבים את השטח וההיקף של המלבן. הדפיסו את התוצאות בצורה הבאה:

Area is XXX
Perimeter is XXX

כאשר מחליפים את XXX בתוצאות הרלוונטיות.

תרגיל 2- Pythagorean theorem#

פיתגורס! כולם מכירים את הנוסחא הידועה.

a2+b2=c2a2+b2=ca^2+b^2=c^2 \rightarrow \sqrt{a^2+b^2} = c

כתבו משתנים a וb המקבלים את המספרים 3 ו4 בהתאמה.

חשבו בעזרתם את המשתנה החדש שאותו ניצור בשם c והדפיסו אותו.

רמז

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