טיפוס בוליאני: bool#

אג’נדה#

  • הסבר על הטיפוס bool

  • אופרטורים בוליאניים - and ,or ו-not

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

שימו לב#

  • True ו-False הן מילים שמורות, כלומר, לא ניתן להשתמש בהם לצרכים אחרים כמו הגדרת משתנים

  • True ו-False תמיד יופיעו עם אות גדולה בהתחלה ואותיות קטנות בהמשך

  • True ו-False הן תוצאות אופרטורי השוואה כמו <, > == וכו’

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

אופרטורים בוליאניים#

אופרטורים בוליאניים פועלים על ערכים בוליאניים ומחזירים ערך בוליאני

קיימים שלושה אופרטורים לוגיים: and or ו-not

האופרטור and#

תחביר: a and b
פעולה זו מחזירה True רק אם שני הערכים (a וגם b) הם True. בכל מקרה אחר (כלומר אם אחד מהם או שניהם הם False) התוצאה תהיה False.

כדי להבין זאת טוב יותר, נסתכל על טבלת האמת של האופרטור and.
טבלת אמת מציגה את התוצאה של הפעולה עבור כל צירוף אפשרי של ערכים בוליאניים של a ו־b:

a

b

a and b

True

True

True

True

False

False

False

True

False

False

False

False

נסו בעצמכם

a=True
b=True
print(a and b)

a=2>1
b=2<1
print(a and b)


print(False and False)
True
False
False

שאלת חשיבה: אם נתון שa=False, ולא ידוע הערך של b, מה יהיה הערך של a and b?

האופרטור or#

תחביר: a or b מחזיר True אם לפחות אחד מהמשתנים a או b הם True. אחרת, מחזיר False.
הor בתכנות שונה קצת מהמילה “או” בשפה הרגילה - בפייתון, אם שואלים אתכם אם “תרצו גלידה או ארטיק?” אתם יכולים לענות פשוט “כן”.

שימו לב להבדל בין טבלאות האמת של and ושל or.
באלו שורות הערך של a and b יוצא זהה לערך של a or b?
ובאלו שורות הוא שונה?

a

b

a or b

True

True

True

True

False

True

False

True

True

False

False

False

נסו בעצמכם

a=True
b=True
print(a or b)

a=2>1
b=2<1
print(a or b)


print(False or False)
True
True
False

שאלת חשיבה: אם נתון שa=True, ולא ידוע הערך של b, מה יהיה הערך של a or b?

האופרטור not#

תחביר: not a. כלומר not מבוצע רק על ערך בוליאני יחיד!
מחזיר True אם a הוא False. אחרת, מחזיר True

a

not a

True

False

False

True

נסו בעצמכם

a=True
print(not a)

a=2<1
print(not a)

print(not False)
False
True
True

שירשור אופרטורים לוגיים#

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

  1. סוגריים קודמים לכל.

  2. not קודם לand ולor.

  3. and קודם לor(כמו שכפל קודם לחיבור)

  4. or מגיע בסוף.

נסו בעצמכם

print (True and True and False)

print ((2>1 or 1<2) and 1==1)
print ((2>1 or 1<2) and 1==1)
print ((2>1 or 1<2) and not 1==1)
print (not 2==2 or 1==1)
False
True
True
False
True

סיכום אופרטורים לוגיים#

אופרטור

תיאור

x and y

שניהם נכונים: True, אחרת: False

x or y

לפחות אחד מהם נכון: True, אחרת: False

not x

אם x הוא False –> התוצאה היא True, אם x הוא True –> התוצאה היא False