בפייתון, משתנים (Variables) משמשים לאחסון ערכים שניתן להתייחס אליהם ולנהל אותם בתוך התוכנית. בפרק זה נעסוק ביסודות המשתנים בפייתון, כולל שיטות להשמת ערכים למשתנים, כללים לשמות משתנים ועוד.
השמה#
כדי להקצות ערך למשתנה בפייתון (השמה, Assignment) פשוט נשתמש בסימן השיוויון =
. לדוגמה:
זה מקצה את הערך השלם 5 למשתנה x. ניתן להתייחס למשתנה הזה מאוחר יותר בתוך התוכנית:
בנוסף, אפשר להמשיך ולהשתמש במשתנה בשביל להגדיר משתנים חדשים:
למה להשתמש במשתנים?#
נניח שאנחנו כותבים תוכנית שמחשבת את ההיקף (perimeter) והשטח (area) של מעגל. נזכר לרגע במשוואות המעגל:
כעת, אם ברצונכם לחשב היקף ושטח של עיגול עם רדיוס שונה, כל שעליכם לעשות הוא לשנות את הערך של משתנה הרדיוס בראש הקוד, והפלט ישקף אוטומטית את הרדיוס החדש.
שימוש במשתנים הופך את הקוד שלך לגמיש יותר וקל יותר לתחזוקה, ומפחית את הסבירות לשגיאות. בנוסף, שימוש בשמות בעלי משמעות מקלים על הבנת הקוד ע"י אנשים אחרים.
כתיב מתמטי מקוצר בעזרת משתנים#
ב-Python, יש דרך נוחה לשנות ערך של משתנה על ידי ביצוע פעולה ולאחר מכן הקצאת התוצאה חזרה למשתנה בשלב אחד. זה יכול להפוך את הקוד לקצר יותר וקל יותר לקריאה.
לדוגמא עבור אופרטור החיבור:
והנה הרשימה המלאה של כתיב מקוצר עבור האופרטורים המתמטיים השונים שלמדנו:
Shorthand | Full 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_var | 2cool |
myVar2 | for |
MY_VAR | my-var |
_my_var | my var |
קונבנציות לשמות משתנים#
- שמות משתנה עם כמה מילים נהוג לכתוב באותיות קטנות עם קו תחתון בין מילה למילה (נקרא snake case). לדוגמא:
- אם המשתנה הוא מספר ידוע או קבוע לאורך הריצה נהוג לכתוב אותו באותיות גדולות וקו תחתון בין מילה למילה. נהוג לכנות משתנים שכאלו בשם constants. לדוגמא:
תרגילים#
תרגיל 1- Rectangle calculations#
נחשב את השטח וההיקף של מלבן.
בקוד קיים משתנה בשם width
שמייצג את הרוחב של המלבן.
הוסיפו משתנה בשם height
המייצג את אורך המלבן והכניסו אליו את המספר 7.
הוסיפו משתנים בשם area
, perimeter
המחשבים את השטח וההיקף של המלבן.
הדפיסו את התוצאות בצורה הבאה:
Area is XXX
Perimeter is XXX
כאשר מחליפים את XXX
בתוצאות הרלוונטיות.
תרגיל 2- Pythagorean theorem#
פיתגורס! כולם מכירים את הנוסחא הידועה.
כתבו משתנים a
וb
המקבלים את המספרים 3 ו4 בהתאמה.
חשבו בעזרתם את המשתנה החדש שאותו ניצור בשם c
והדפיסו אותו.
רמז
לא למדנו איך לחשב שורש, אבל ידוע ששורש הוא פשוט העלה בחזקת חצי...