✕ סגור 
צור קשר
תודה על ההתעניינות .

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

מדריך PYTHON למתחילים: חלק 4- עבודה עם משתנים

אלעד פלג
|
קלה
|
Oct 2, 2018
alt="facebook"alt="linkedin"
להרשמה לניוזלטר

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

הגדרת משתנה מתבצעת פשוט ע"י אתחולinitialization) ) של שם המשתנה לערך מסוים. השם יכול להיות כל דבר שנרצה כל עוד הוא מתחיל באות (אנגלית) או קו תחתון, ומכיל רק מספרים, אותיות וקווים תחתונים. כמוסכמה, שמות משתנים תמיד יכילו אותיות קטנות בלבד אבל אתם יכולים לכלול גם אותיות גדולות אם אתם רוצים. ההצבה עצמה מתבצעת ע"י הסימן '=' (לא לבלבל עם '==' שמציין השוואה)

number = 100

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

number = 100

print(number)

100

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

number = 100

print(number * 5)

500

ניתן לעשות חישוב של משתנה על עצמו.

number = 100

print(number + number)

200

עבודה עם מחרוזות תתבצע באותה צורה

name = 'Johnny'

print(name)

Johnny

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

name = "Johnny!"

word = "Here's"

print(word + ' ' + name)

Here's Johnny!

החישוב החשבוני היחיד שניתן לעשות על מחרוזות הוא הכפלה

name = "Johnny!"

print(name * 5)

Johnny!Johnny!Johnny!Johnny!Johnny!

ניתן להגדיר מספר ערכים למספר משתנים בהצהרה יחידה

a,b,c = 2,3,4

ולבצע חישובים על משתנים מרובים באותה הצהרה. ניתן גם להכניס את התוצאה של חישוב לתוך משתנה נוסף.

a,b,c = 2,3,4

total = a * b * c

print(total)

24

אין הגבלה על כמות הפעמים שבה משתנה יכול להופיע בחישובים שאנחנו מבצעים

a,b,c = 2,3,4

total = (a + b) - c * a + b

print(total)

0

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

num = 100

num = num * 2

print(num)

200

משתנים יכולים גם להכיל ערכים בוליאניים – True / False. אפשר להציב את הערכים האלה במשתנים באופן מפורש

booli_var = True

print(booli_var)

True

והם יכולים להכיל את הפלט של ביטוי בוליאני

booli_var = 2 == 5

print(booli_var)

False

בדוגמה האחרונה הגדרנו ביטוי שאינו נכון (2 אינו שווה ל-5) ולכן המשתנה ש"קיבל" את התוצאה למעשה מצביע לערך False.

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

num = 100

num = "I'm not a number!"

print(num)

I'm not a number!

ניתן גם לשייך ערכים ממשתנים למשתנים אחרים

number = 100

anotherNumber = number

print(number)

print(anotherNumber)

100

100

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

number = 100

anotherNumber = number

number = 999

print(number)

print(anotherNumber)

999

100

BI מאת: אלעד פלג, יועץ

http://eladpeleg.co.il

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

הגדרת משתנה מתבצעת פשוט ע"י אתחולinitialization) ) של שם המשתנה לערך מסוים. השם יכול להיות כל דבר שנרצה כל עוד הוא מתחיל באות (אנגלית) או קו תחתון, ומכיל רק מספרים, אותיות וקווים תחתונים. כמוסכמה, שמות משתנים תמיד יכילו אותיות קטנות בלבד אבל אתם יכולים לכלול גם אותיות גדולות אם אתם רוצים. ההצבה עצמה מתבצעת ע"י הסימן '=' (לא לבלבל עם '==' שמציין השוואה)

number = 100

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

number = 100

print(number)

100

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

number = 100

print(number * 5)

500

ניתן לעשות חישוב של משתנה על עצמו.

number = 100

print(number + number)

200

עבודה עם מחרוזות תתבצע באותה צורה

name = 'Johnny'

print(name)

Johnny

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

name = "Johnny!"

word = "Here's"

print(word + ' ' + name)

Here's Johnny!

החישוב החשבוני היחיד שניתן לעשות על מחרוזות הוא הכפלה

name = "Johnny!"

print(name * 5)

Johnny!Johnny!Johnny!Johnny!Johnny!

ניתן להגדיר מספר ערכים למספר משתנים בהצהרה יחידה

a,b,c = 2,3,4

ולבצע חישובים על משתנים מרובים באותה הצהרה. ניתן גם להכניס את התוצאה של חישוב לתוך משתנה נוסף.

a,b,c = 2,3,4

total = a * b * c

print(total)

24

אין הגבלה על כמות הפעמים שבה משתנה יכול להופיע בחישובים שאנחנו מבצעים

a,b,c = 2,3,4

total = (a + b) - c * a + b

print(total)

0

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

num = 100

num = num * 2

print(num)

200

משתנים יכולים גם להכיל ערכים בוליאניים – True / False. אפשר להציב את הערכים האלה במשתנים באופן מפורש

booli_var = True

print(booli_var)

True

והם יכולים להכיל את הפלט של ביטוי בוליאני

booli_var = 2 == 5

print(booli_var)

False

בדוגמה האחרונה הגדרנו ביטוי שאינו נכון (2 אינו שווה ל-5) ולכן המשתנה ש"קיבל" את התוצאה למעשה מצביע לערך False.

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

num = 100

num = "I'm not a number!"

print(num)

I'm not a number!

ניתן גם לשייך ערכים ממשתנים למשתנים אחרים

number = 100

anotherNumber = number

print(number)

print(anotherNumber)

100

100

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

number = 100

anotherNumber = number

number = 999

print(number)

print(anotherNumber)

999

100

BI מאת: אלעד פלג, יועץ

http://eladpeleg.co.il

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
אלעד פלג
בואו נעבוד ביחד
צרו קשר