📚 מילון טיפוסי נתונים
כל מה שצריך לדעת על טיפוסי נתונים בפייתון
📦 טיפוסי הנתונים העיקריים
int
Immutableמספר שלם
מספרים שלמים ללא נקודה עשרונית
דוגמאות:
42-1701000000פעולות:
⚠️ חלוקה (/) תמיד מחזירה float
float
Immutableמספר עשרוני
מספרים עם נקודה עשרונית
דוגמאות:
3.14-0.0012.01e10פעולות:
⚠️ זהירות מבעיות דיוק: 0.1 + 0.2 != 0.3
str
Immutableמחרוזת
רצף של תווים
דוגמאות:
'hello'"world"'''multi\nline'''פעולות:
⚠️ Immutable - לא ניתן לשנות תו בודד
bool
Immutableבוליאני
ערך אמת או שקר
דוגמאות:
TrueFalseפעולות:
⚠️ True == 1, False == 0
list
Mutableרשימה
אוסף מסודר וניתן לשינוי
דוגמאות:
[1, 2, 3]['a', 'b'][]פעולות:
⚠️ Mutable - ניתן לשנות, להוסיף ולמחוק איברים
tuple
Immutableטאפל
אוסף מסודר שלא ניתן לשינוי
דוגמאות:
(1, 2, 3)('a',)()פעולות:
⚠️ Immutable - לא ניתן לשנות לאחר יצירה
dict
Mutableמילון
אוסף של זוגות מפתח-ערך
דוגמאות:
{'a': 1}{1: 'one'}{}פעולות:
⚠️ מפתחות חייבים להיות hashable (immutable)
set
Mutableקבוצה
אוסף לא מסודר של ערכים ייחודיים
דוגמאות:
{1, 2, 3}set()set([1,2,2])פעולות:
⚠️ איברים חייבים להיות hashable
NoneType
ImmutableNone
ייצוג של 'כלום' או 'אין ערך'
דוגמאות:
Noneפעולות:
⚠️ השווה תמיד עם 'is None' ולא '== None'
📊 טבלת פעולות מקיפה
כל הפעולות החשובות לפי טיפוס - מתוך חומרי המרצה
| טיפוס | פעולה | דוגמה | תוצאה | Mutable? |
|---|---|---|---|---|
int | + | 3 + 4 | 7 | ❌ |
* | 3 * 4 | 12 | ❌ | |
/ | 7 / 2 | 3.5 | ❌ | |
// | 7 // 2 | 3 | ❌ | |
% | 7 % 2 | 1 | ❌ | |
** | 2 ** 3 | 8 | ❌ | |
float | round() | round(3.6) | 4 | ❌ |
+ | 1.5 + 2.5 | 4 | ❌ | |
bool | and | True and False | False | ❌ |
or | True or False | True | ❌ | |
not | not True | False | ❌ | |
str | חיתוך [:] | "hello"[1:4] | "ell" | ❌ |
upper() | "hi".upper() | "HI" | ❌ | |
lower() | "HI".lower() | "hi" | ❌ | |
replace() | "hi".replace("h","b") | "bi" | ❌ | |
split() | "a,b".split(",") | ["a","b"] | ❌ | |
+ | "hi" + "!" | "hi!" | ❌ | |
Tuple | אינדקס | (1,2,3)[0] | 1 | ❌ |
חיתוך | (1,2,3)[1:] | (2,3) | ❌ | |
count() | (1,1,2).count(1) | 2 | ❌ | |
List | append() | [1,2].append(3) | [1,2,3] | ✅ |
pop() | [1,2,3].pop() | 3 | ✅ | |
sort() | [3,1,2].sort() | [1,2,3] | ✅ | |
"".join() | "".join(["a","b"]) | "ab" | ❌ | |
Dict | insert() | d["a"] = 1 | {"a": 1} | ✅ |
get() | d.get("a") | 1 / None | ❌ | |
keys() | d.keys() | dict_keys | ❌ | |
Set | add() | {1,2}.add(3) | {1,2,3} | ✅ |
remove() | {1,2}.remove(1) | {2} | ✅ | |
discard() | {1,2}.discard(5) | {1,2} | ✅ | |
pop() | {1,2}.pop() | האיבר שנשלף | ✅ | |
| (Union) | {1} | {2} | {1,2} | ❌ | |
& (Intersection) | {1,2} & {2,3} | {2} | ❌ | |
- (Difference) | {1,2} - {2} | {1} | ❌ |
🔄 המרות בין טיפוסים
| מ- | ל- | פונקציה | תוצאה | הערה |
|---|---|---|---|---|
str | int | int('42') | 42 | יזרוק ValueError אם לא מספר |
str | float | float('3.14') | 3.14 | יזרוק ValueError אם לא מספר |
int | str | str(42) | '42' | |
int | float | float(42) | 42.0 | |
float | int | int(3.99) | 3 | חותך (לא מעגל!) לכיוון אפס |
list | tuple | tuple([1,2]) | (1, 2) | |
tuple | list | list((1,2)) | [1, 2] | |
str | list | list('abc') | ['a','b','c'] | |
list | str | ''.join(['a','b']) | 'ab' | רק לרשימות של strings |
list | set | set([1,2,2]) | {1, 2} | מסיר כפילויות |
❌ ערכי Falsy
ערכים אלו נחשבים כ-False בתנאי if:
Falsebool
NoneNoneType
0int
0.0float
''str (ריק)
[]list (ריקה)
()tuple (ריק)
{}dict (ריק)
set()set (ריק)
💡 כל ערך אחר נחשב Truthy (True)