📚 מילון טיפוסי נתונים

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

📦 טיפוסי הנתונים העיקריים

int

Immutable

מספר שלם

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

דוגמאות:

42-1701000000

פעולות:

+-*///%**

⚠️ חלוקה (/) תמיד מחזירה float

float

Immutable

מספר עשרוני

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

דוגמאות:

3.14-0.0012.01e10

פעולות:

+-*///%**

⚠️ זהירות מבעיות דיוק: 0.1 + 0.2 != 0.3

str

Immutable

מחרוזת

רצף של תווים

דוגמאות:

'hello'"world"'''multi\nline'''

פעולות:

+*[][:]in

⚠️ Immutable - לא ניתן לשנות תו בודד

bool

Immutable

בוליאני

ערך אמת או שקר

דוגמאות:

TrueFalse

פעולות:

andornot

⚠️ True == 1, False == 0

list

Mutable

רשימה

אוסף מסודר וניתן לשינוי

דוגמאות:

[1, 2, 3]['a', 'b'][]

פעולות:

+*[][:]inappendextendpop

⚠️ Mutable - ניתן לשנות, להוסיף ולמחוק איברים

tuple

Immutable

טאפל

אוסף מסודר שלא ניתן לשינוי

דוגמאות:

(1, 2, 3)('a',)()

פעולות:

+*[][:]in

⚠️ Immutable - לא ניתן לשנות לאחר יצירה

dict

Mutable

מילון

אוסף של זוגות מפתח-ערך

דוגמאות:

{'a': 1}{1: 'one'}{}

פעולות:

[]inkeys()values()items()get()

⚠️ מפתחות חייבים להיות hashable (immutable)

set

Mutable

קבוצה

אוסף לא מסודר של ערכים ייחודיים

דוגמאות:

{1, 2, 3}set()set([1,2,2])

פעולות:

|&-^add()remove()

⚠️ איברים חייבים להיות hashable

NoneType

Immutable

None

ייצוג של 'כלום' או 'אין ערך'

דוגמאות:

None

פעולות:

isis not

⚠️ השווה תמיד עם 'is None' ולא '== None'

📊 טבלת פעולות מקיפה

כל הפעולות החשובות לפי טיפוס - מתוך חומרי המרצה

טיפוספעולהדוגמהתוצאהMutable?
int+3 + 47
*3 * 412
/7 / 23.5
//7 // 23
%7 % 21
**2 ** 38
floatround()round(3.6)4
+1.5 + 2.54
boolandTrue and FalseFalse
orTrue or FalseTrue
notnot TrueFalse
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
Listappend()[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"
Dictinsert()d["a"] = 1{"a": 1}
get()d.get("a")1 / None
keys()d.keys()dict_keys
Setadd(){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}
Mutable = משנה את האובייקט המקורי Immutable = יוצר אובייקט חדש

🔄 המרות בין טיפוסים

מ-ל-פונקציהתוצאההערה
strintint('42')42יזרוק ValueError אם לא מספר
strfloatfloat('3.14')3.14יזרוק ValueError אם לא מספר
intstrstr(42)'42'
intfloatfloat(42)42.0
floatintint(3.99)3חותך (לא מעגל!) לכיוון אפס
listtupletuple([1,2])(1, 2)
tuplelistlist((1,2))[1, 2]
strlistlist('abc')['a','b','c']
liststr''.join(['a','b'])'ab'רק לרשימות של strings
listsetset([1,2,2]){1, 2}מסיר כפילויות

ערכי Falsy

ערכים אלו נחשבים כ-False בתנאי if:

False

bool

None

NoneType

0

int

0.0

float

''

str (ריק)

[]

list (ריקה)

()

tuple (ריק)

{}

dict (ריק)

set()

set (ריק)

💡 כל ערך אחר נחשב Truthy (True)