טיפוס בוליאני: 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
שירשור אופרטורים לוגיים#
בדומה לפעולות אריתמתיות, ניתן לשרשר מספר אופרטורים לוגיים ברצף סדר פעולות:
סוגריים קודמים לכל.
notקודם לandולor.andקודם לor(כמו שכפל קודם לחיבור)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 |
שניהם נכונים: |
x or y |
לפחות אחד מהם נכון: |
not x |
אם x הוא |