הבנת סוגי נתונים ב-Python 3

הקדמה

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

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

דרישות מוקדמות

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

רקע

דרך אחת לחשוב על סוגי נתונים היא לשקול את סוגי הנתונים השונים שאנו משתמשים בהם בעולם האמיתי. דוגמה לנתון בעולם האמיתי הם מספרים: אנו יכולים להשתמש במספרים שלמים (0, 1, 2, …), מספרים שלמים (…, -1, 0, 1, …), ומספרים אי רציונליים (π), לדוגמה.

בדרך כלל, במתמטיקה, אנו יכולים לשלב מספרים מסוגים שונים ולקבל סוג של תשובה. אנו רוצים להוסיף 5 ל־π, לדוגמה:

5 + π

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

5 + π = 5 + 3.14 = 8.14 

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

sky + 8

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

מספרים

כל מספר שתזין בפייתון ייחשב כמספר; אין צורך להכריז על סוג הנתונים שאתה נכנס אליהם. פייתון תתייחס לכל מספר שנכתב ללא עשרונים כמספר שלם (כמו ב138) ולכל מספר שנכתב עם עשרונים כמספר עשרוני (כמו ב138.0).

שלמים

כמו במתמטיקה, שלמים בתכנות מחשבים הם מספרים שלמים שיכולים להיות חיוביים, שליליים או 0 (…, -1, 0, 1, …). ניתן להכניס לשלם גם בשם int. כמו בשפות תכנות אחרות, אין להשתמש בפסיקים במספרים של ארבע ספרות או יותר, כך שכאשר אתה רושם 1,000 בתוכנית שלך, רשום אותו כ1000.

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

ניתן להדפיס שלם כך:

print(-25)
Output
-25

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

my_int = -25
print(my_int)
Output
-25

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

int_ans = 116 - 68
print(int_ans)
Output
48

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

מספרים עשרוניים נקודתיים

A floating-point number or a float is a real number, meaning that it can be either a rational or an irrational number. Because of this, floating-point numbers can be numbers that can contain a fractional part, such as 9.0 or -116.42. In general, for the purposes of thinking of a float in a Python program, it is a number that contains a decimal point.

כמו שעשינו עם המספר השלם, אנחנו יכולים להדפיס מספר עשרוני נקודתי כך:

print(17.3)
Output
17.3

ניתן גם להצהיר על משתנה שמייצג מספר עשרוני, כמו כן:

my_flt = 17.3
print(my_flt)
Output
17.3

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

flt_ans = 564.0 + 365.24
print(flt_ans)
Output
929.24

עם מספרים שלמים ועשרוניים נקודתיים, חשוב לזכור ש-3 ≠ 3.0, כי 3 מתייחס למספר שלם בעוד 3.0 מתייחס למספר עשרוני נקודתי.

בוליאנים

סוג הנתונים בוליאני יכול להיות אחד משני הערכים, או True או False. בוליאנים משמשים לייצוג של ערכי אמת המשוייכים עם ענף הלוגיקה במתמטיקה, שמשמשת לאלגוריתמים במדעי המחשב.

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

הרבה פעולות במתמטיקה נותנות לנו תשובות שמעריכות או לא נכון:

  • גדול מ
    • 500 > 100 True
    • 1 > 5 False
  • קטן מ
    • 200 < 400 True
    • 4 < 2 False
  • שווה
    • 5 = 5 True
    • 500 = 400 False

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

my_bool = 5 > 8

אז אפשר להדפיס את ערך הבוליאני עם קריאה לפונקצית print():

print(my_bool)

מאחר ש־5 אינו גדול מ־8, נקבל את הפלט הבא:

Output
False

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

מחרוזות

A string is a sequence of one or more characters (letters, numbers, symbols) that can be either a constant or a variable. Strings exist within either single quotes ' or double quotes " in Python, so to create a string, enclose a sequence of characters in quotes:

'This is a string in single quotes.'
"This is a string in double quotes."

ניתן להשתמש בצ'וק או בגרש כפול, אך בליברי החלטתך אתה צריך להיות עקבי בתוך התוכנית.

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

print("Hello, World!")

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

hw = "Hello, World!"

ולהדפיס את המחרוזת על ידי קריאה למשתנה:

print(hw)
Ouput
Hello, World!

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

רשימות

A list is a mutable, or changeable, ordered sequence of elements. Each element or value that is inside of a list is called an item. Just as strings are defined as characters between quotes, lists are defined by having values between square brackets [ ].

A list of integers looks like this:

[-3, -2, -1, 0, 1, 2, 3]

A list of floats looks like this:

[3.14, 9.23, 111.11, 312.12, 1.05]

A list of strings:

['shark', 'cuttlefish', 'squid', 'mantis shrimp']

אם נגדיר את רשימת המחרוזות שלנו כ־יצורי הים:

sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp']

ניתן להדפיס אותם על ידי קריאה למשתנה:

print(sea_creatures)

והפלט נראה בדיוק כמו הרשימה שיצרנו:

Output
['shark', 'cuttlefish', 'squid', 'mantis shrimp']

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

טאפל

A tuple is used for grouping data. It is an immutable, or unchangeable, ordered sequence of elements.

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

A tuple looks like this:

('blue coral', 'staghorn coral', 'pillar coral')

ניתן לאחסן טאפל במשתנה ולהדפיס אותו:

coral = ('blue coral', 'staghorn coral', 'pillar coral')
print(coral)
Output
('blue coral', 'staghorn coral', 'pillar coral')

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

מילונים

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

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

{'name': 'Sammy', 'animal': 'shark', 'color': 'blue', 'location': 'ocean'}

תשים לב שבנוסף לסוגריים מסולסלים, ישנם גם נקודות נגיעה בכל המילון. המילים שנמצאות משמאל לנקודות הנגיעה הן המפתחות. מפתחות יכולים להיות מורכבים מכל סוג נתונים לא ניתנים לשינוי. המפתחות במילון לעיל הם: 'name', 'animal', 'color', 'location'.

המילים שנמצאות מימין לנקודות הנגיעה הן הערכים. ערכים יכולים להיות מורכבים מכל סוג נתונים. הערכים במילון לעיל הם: 'Sammy', 'shark', 'blue', 'ocean'.

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

sammy = {'name': 'Sammy', 'animal': 'shark', 'color': 'blue',  'location': 'ocean'}
print(sammy)
Output
{'color': 'blue', 'animal': 'shark', 'name': 'Sammy', 'location': 'ocean'}

אם נרצה לבדוק את הצבע של סמי, נוכל לעשות זאת על ידי קריאה ל-sammy['color']. בוא נדפיס את זה:

print(sammy['color'])
Output
blue

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

מסקנה

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

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

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

Source:
https://www.digitalocean.com/community/tutorials/understanding-data-types-in-python-3