סוגי ערכים (טיפוסים, או types)

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

  • מחרוזת
  • מספר שלם
  • מספר עשרוני ("שבר")

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

  1. "Hello World"
  2. 3
  3. 9.5
  4. "3"
  5. '3'
  6. '9.5'
  7. 'a'

המינוח המקצועי ל"סוג" הוא "טיפוס", או באנגלית: type.

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

בניסוח רשמי או אקדמי משתמשים במינוח "טיפוס" או במינוח "טיפוס נתונים" כדי לסווג ערכים לקבוצות שונות.
בתעשייה וביום־יום משתמשים במינוח "סוג". לדוגמה: מוישה, מאיזה סוג המשתנה age שהגדרת פה?

type

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

שם בפייתון שם באנגלית שם בעברית
str string מחרוזת
int integer מספר שלם
float float מספר עשרוני

כדי לראות את הסוג של ערך נתון, נשתמש ב־type(VALUE), כאשר במקום VALUE יופיע הערך אותו נרצה לבדוק.

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


In [ ]:
type(1)

In [ ]:
type(-1)

In [ ]:
type(0)

In [ ]:
type(1.9)

In [ ]:
type(1.0)

In [ ]:
type('a')

In [ ]:
type('buya!')

In [ ]:
type('9')

תרגול

בדקו מה הסוג של הערכים והביטויים הבאים:

  1. 'david'
  2. "david"
  3. -900.00
  4. "-900.00"
  5. 3 ** 5
  6. 5.0 ** 2
  7. 5 / 2
  8. 5 // 2
  9. '5.0 ** 2'

In [ ]:

שוני בין סוגי ערכים

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


In [ ]:
1 + 1

In [ ]:
1.0 + 1.0

In [ ]:
"1" + "1"

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

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


In [ ]:
1 + 1.5

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


In [ ]:
"1" + 2