משתנים

March 31, 2019

משתנים

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

 

 

x=2

print (x)

>>>

2

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

 

 

x=2

print (type(x))

>>>

<class 'int'>

 

המילה int  היא קיצור של integer (מספרים שלמים חיוביים שליליים או אפס שלא בייצוג של שבר עשרוני)

משתנים יכולים לקבל גם מחרוזת כמו u2.

 

x="u2"

print (type(x))

>>>

<class 'str'>

 

המילה str  היא קיצור של string (מחרוזת).

אנו יכולים לבצע השמה של משתנים בתוך משתנים אחרים -

 

x=2

y=x

z=y

print (z)

>>>

2

קודם ביצענו השמה של הערך 2 ב – x לאחר מכן ביצענו השמה של x ב- y (היות שב- x  היה 2 גם y  שווה עכשיו ל- 2) ולבסוף השמה של y ב- z כך שגם z שווה עכשיו ל- 2.

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

 

x=[2,3,4]

y=x

z=y

print (z)        >>>  [2,3,4]

x[0]=4           #כך מגיעים לאיבר בתוך רשימה

print (z)        >>>  [4,3,4]

 

אנו רואים למעלה כי כאשר שינינו את המספר הראשון ברשימה x מ- 2 ל- 4, גם z השתנתה משום שהיא מצביעה על האובייקט (רשימה שגם x מצביע עליה) במיקום מסוים בזיכרון של המחשב. מה שמועתק מ- x ל- y הוא רק המצביע (ולא התוכן) וכך גם במעבר מ- y ל- z. ולכן כאשר שינינו את התוכן עליו הצביע x השתנה גם התוכן עליו הצביע z.

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

x=[2,3,4]

y=x

z=list(y[:])

print (z)           >>>  [2,3,4]

x[0]=4

print (z)           >>>  [2,3,4]

 

במקרה למעלה יצרנו את z כרשימה חדשה באמצעות הפקודה list הכוללת את ערכי הרשימה y מהראשון עד האחרון (את זה מסמנים כך [:] ). כעת z אינה מצביעה על אותו אובייקט כמו שהמשתנה x מצביע עליו.

 

אנו יכולים לבצע השמה של אותו ערך בכמה משתנים שונים ביחד -

x=y=z=2

print (x,y,z)        >>>    2 2 2

 

 

אפשר גם בסיטונות כך –

 

 

x,y=2,3

print (x)     >>>  2

print (y)     >>>  3

 

 

 

Please reload

Please reload

רעננו את הדף והקליקו למעבר לנושא הבא: