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

משתנים

משתנים

כמו בכל תוכנית אנו יכולים לקבוע שרצף מסוים של אותיות ומספרים יהיה משתנה (ולא סתם מחרוזת טקסט). על מנת לסמן אות או רצף סימנים כמשתנה אנו משתמשים בסימן שווה (=). כך למשל אנו יכולים לקבוע כי 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




Related Posts

See All

תנאים – פקודת if ומבנה הבלוק ב-python

תנאים – פקודת if ומבנה הבלוק ב-python פקודת if מאפשרת לנו להורות למחשב לבצע פעולה מסוימת רק אם מתקיימים תנאים מסוימים – למשל אם הערך ב – ...