Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

מדריך Python – פרק 4 – סוגי משתנים Variables

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

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

הזנת ערכים למשתנים

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


age        = 100          # int
kilometers = 1000.0       # float
name       = "John"       # string

print (age)
print (kilometers)
print (name)

כשנריץ תוכנית זו נקבל את הפלט הבא:

100
1000.0
John

הזנת מספר משתנים 

שפת התכנות Python מאפשרת לנו להזין ערך אחד למספר משתנים בו זמנית, כפי שניתן לראות בדוגמה הבאה:


a = b = c = 1

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


a, b, c = 1, 2, "john"

בדוגמה האחרונה, הזנו את הערכים 1 ו-2 למשתנים a ו-b לפי הסדר, וערך מחרוזת למשתנה c.

סוגי נתונים סטנדרטיים

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

בשפת Python יש 5 סוגי נתונים סטנדרטיים:

  • מספרים – Numbers
  • מחרוזות – String
  • רשימה – List
  • רשימה בלתי משתנה – Tuple
  • מילון – Dictionary

 

מספרים Numbers ב-Python

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


var1 = 1
var2 = 10

וניתן למחוק אובייקטים אלו באמצעות הביטוי del לפי התחביר הבא:


del var1[,var2[,var3[....,varN]]]]

ניתן למחוק אובייקט אחד או יותר בעזרת הביטוי del:


del var
del var_a, var_b

בשפת Python נתמכים 3 סוגי מספרים:

  • int – מספר שלם
  • float – מספר עשרוני
  • complex – מספר מורכב

 

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

מחרוזות String ב-Python

מחרוזות בשפת Python הן למעשה סט מתמשך של תווים אשר מסומן בגרשיים, כאשר ניתן להשתמש בגרש בודד (' ') מכל צד של המחרוזת או גרשיים כפולות (" ") מכל צד של המחרוזת. ניתן להדפיס חלקים מתוך מחרוזת על ידי שימוש באופרטורים – ([ ]) שנקרא גם סימן החיתוך ואופרטור הנקודותיים (:). למשל:


str = 'Hello World!'

print (str)          # Prints complete string
print (str[0])       # Prints first character of the string
print (str[2:5])     # Prints characters starting from 3rd to 5th
print (str[2:])      # Prints string starting from 3rd character
print (str * 2)      # Prints string two times
print (str + "TEST") # Prints concatenated string

וכאשר נריץ את התוכנית נקבל את התוצאה הבאה:

!Hello World
H
llo
!llo World
!Hello World!Hello World
Hello World!TEST

רשימות List ב-Python

רשימות List הן הכלי הגמיש ביותר בשפת Python. רשימה מכילה פריטים אשר מופרדים בפסיקים (,) ותחומים בתוך סוגריים מרובעות ([ ]). רשימות בשפת Python הן הקונספט המקביל למערכים בשפת C, רק שאחד ההבדלים הבולטים בין השתיים, הוא שבשפת Python הפריטים אשר מופיעים ברשימה יכולים להיות מסוגי נתונים שונים, לעומת שפת C שבה כל המערך חייב להיות מסוג נתונים אחד.

ניתן לגשת לערכים שנשמרים ברשימה על ידי שימוש בסמל הסוגריים המרובעות ([ ]) וסמל הנקודותיים (:), כאשר האינדקס הראשון (0) מתחיל מהפריט הראשון ברשימה. תפקידו של סמל הפלוס (+) הוא למטרת שרשור רשימות שונות, וסמל המכפלת (*) נועד להכפלת רשימות. למשל:


list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)          # Prints complete list
print (list[0])       # Prints first element of the list
print (list[1:3])     # Prints elements starting from 2nd till 3rd 
print (list[2:])      # Prints elements starting from 3rd element
print (tinylist * 2)  # Prints list two times
print (list + tinylist) # Prints concatenated lists

וכאשר נריץ את התוכנית נקבל את התוצאה הבאה:

['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

רשימה בלתי משתנה – Tuple

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


tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)           # Prints complete tuple
print (tuple[0])        # Prints first element of the tuple
print (tuple[1:3])      # Prints elements starting from 2nd till 3rd 
print (tuple[2:])       # Prints elements starting from 3rd element
print (tinytuple * 2)   # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple

וכאשר נריץ את התוכנית נקבל את התוצאה הבאה:

('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

הדוגמה הבאה איננה תקינה בשפת Python, משום שננסה בדוגמה זו להזין ערך ל-Tuple, מה שכפי שהסברנו איננו חוקי בשפת Python :


tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

מילון Dictionary ב-Python

מילון Dictionary אשר נקרא גם Hash-Table, הוא מעין תפריט המכיל מפתחות וערכים בדומה למילון סטנדרטי, כאשר אנו מגדירים מילון באמצעות סוגריים מסולסלות ({ }), וניגשים אליו ומזינים לו ערכים באמצעות סוגריים מרובעות ([ ]).

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


dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values

וכאשר נריץ את התוכנית נקבל את התוצאה הבאה:

This is one
This is two
{'code': 6734, 'dept': 'sales', 'name': 'john'}
([dict_keys(['code', 'dept', 'name'
([dict_values([6734, 'sales', 'john'

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

המרת סוגי נתונים

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

רוצים לשתף את המדריך?

אהבתכם את המדריך? פתר לכם תקלה? הזמינו את כותב המדריך לכוס קפה

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

ניתן לתרום 10, 15, 20 או כל סכום אחר שתרצו באמצעות כרטיס אשראי \ Paypal

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

הזמינו אותי לכוס קפה
buy me coffee

אהבתכם את המדריך? פתר לכם תקלה? הזמינו את כותב המדריך לכוס קפה

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