Menu
Coddy logo textTech

מה זה Boolean (ערך בוליאני)?

בתכנות, בוליאני (boolean) הוא טיפוס נתונים עם שני ערכים בדיוק, אמת ושקר (true ו-false). תוכניות מקבלות ערכים בוליאניים מהשוואות כמו age >= 18, ומשתמשות בהם כדי להחליט איזה קוד ירוץ, בפקודות if ובתנאים של לולאות.

מאת Kevin Spektor, מייסד שותף ו-CTO

עודכן ב-24 בספטמבר 2026

כל החלטה שתוכנית מקבלת מסתכמת בשאלה עם שתי תשובות אפשריות: האם הסיסמה נכונה, האם העגלה ריקה, האם הטיימר הגיע לאפס. הבוליאני הוא טיפוס הנתונים שמחזיק את התשובות האלה. הוא נקרא על שם ג'ורג' בול (George Boole), מתמטיקאי אנגלי שתיאר אלגברה של ערכי אמת ושקר בספרים שיצאו ב-1847 וב-1854.

מאיפה מגיעים ערכים בוליאניים

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

אופרטורמשמעותדוגמהתוצאה
==שווה ל3 == 3True
!=לא שווה ל3 != 3False
<, >קטן מ, גדול מ2 < 5True
<=, >=לכל היותר, לפחות17 >= 18False

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

False
<class 'bool'>
False
True

שילוב ערכים בוליאניים: and, or, not

שלושה אופרטורים לוגיים בונים תנאים גדולים מתנאים קטנים. and הוא אמת רק כששני הצדדים אמת. or הוא אמת כשלפחות צד אחד אמת. not הופך ערך בודד.

aba and ba or bnot a
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

ב-Python האופרטורים האלה נכתבים כמילים. C, Java ו-JavaScript משתמשות בסימנים: && ל-and, || ל-or, ! ל-not. כל ארבע השפות מפסיקות לחשב ברגע שהתשובה ידועה, כך שב-a and b הצד הימני לא נבדק בכלל כש-a הוא שקר. לזה קוראים הערכה מקוצרת (short-circuit evaluation). המדריך לאופרטורים לוגיים ב-Python מסביר את זה בפירוט.

איך ערכים בוליאניים שולטים בתוכנית

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

Hot day
Countdown: 3
Countdown: 2
Countdown: 1

כש-count מגיע ל-0, התנאי count > 0 הופך ל-False והלולאה מסתיימת. אם התנאי לא היה יכול להפוך לשקר אף פעם, הלולאה הייתה רצה לנצח.

ערכים בוליאניים כ-1 ו-0

ערך בוליאני צריך רק ביט אחד של מידע: 1 לאמת, 0 לשקר. בפועל, שפות שומרות ערך בוליאני בבייט שלם אחד לפחות, כי בייט הוא יחידת הזיכרון הקטנה ביותר שיש לה כתובת משלה. ב-C, bool מ-<stdbool.h> תופס בייט אחד עם gcc ו-clang. תוכניות שצריכות מיליוני דגלים אורזות 8 מהם בכל בייט בעזרת אופרטורים על ביטים.

שפות לא מסכימות אם ערך בוליאני הוא גם מספר. ב-Python, bool הוא תת מחלקה של int, ולכן True שווה 1 ו-False שווה 0. זה הופך ספירה לקלה:

True True
2
3 correct

גם JavaScript נותנת 2 עבור true + true. ב-C לא היה טיפוס בוליאני עד C99, והיא עדיין מתייחסת לכל מספר שאינו אפס כאמת. Java קפדנית: if (1) לא עובר קומפילציה, כי תנאי ב-Java חייב להיות boolean.

ערכי truthy ו-falsy

Python ו-JavaScript מאפשרות להשתמש בכל ערך כתנאי, לא רק ב-True וב-False. ערכים שנחשבים שקר נקראים falsy; כל השאר truthy.

0 -> False
42 -> True
'' -> False
'False' -> True
[] -> False
[0] -> True
None -> False

ב-Python, אפס, מחרוזות ריקות, אוספים ריקים ו-None הם falsy. המחרוזת "False" היא truthy, כי זו מחרוזת עם חמישה תווים. ל-JavaScript יש ערכי falsy משלה, ביניהם false, 0, "", null, undefined ו-NaN, ושם מערך ריק [] הוא truthy. ראו truthy ו-falsy ב-JavaScript לכל הכללים.

טעויות נפוצות

השוואה ל-True. if is_ready == True: עובד, אבל if is_ready: אומר את אותו הדבר עם פחות מה לקרוא. למקרה של שקר, כתבו if not is_ready:.

התייחסות לטקסט כאל ערך בוליאני. קלט ממשתמש, מקובץ או מטופס מגיע כמחרוזת, ולכן bool("false") הוא True. השוו את הטקסט במקום זאת: answer == "yes".

אותיות גדולות וקטנות לא נכונות. Python כותבת True ו-False; JavaScript, Java ו-C כותבות true ו-false. הקלדת true ב-Python נותנת NameError: name 'true' is not defined.

שמות מעורפלים. תנו לערך בוליאני שם כמו שאלת כן או לא, למשל is_valid, has_access או can_edit, כדי שתנאי ייקרא כמו משפט: if user.can_edit:.

לאן ממשיכים מכאן

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

שאלות נפוצות

מה דוגמה לערך בוליאני?
ההשוואה 5 > 3 היא ביטוי בוליאני, והערך שלה הוא True. משתנה כמו is_logged_in = False מחזיק ערך בוליאני. בקטלוג של ספרייה, החיפוש cats AND dogs הוא שאילתה בוליאנית שמשתמשת באותו היגיון.
האם בוליאני הוא 1 או 0?
לבוליאני יש שני ערכים, ושפות רבות מייצגות אותם כ-1 לאמת ו-0 לשקר. ב-Python True == 1 הוא True, וב-C כל מספר שאינו אפס נחשב אמת. Java מפרידה ביניהם: אי אפשר להשתמש ב-boolean של Java כמספר בכלל.
האם בוליאני זה פשוט כן או לא?
כן. בוליאני מחזיק בדיוק אחד משני ערכים, שאפשר לקרוא כן או לא, דולק או כבוי, אמת או שקר. כשלמשהו יש יותר משני מצבים, למשל הזמנה שממתינה, שולמה או הוחזרה, השתמשו במחרוזת או ב-enum במקום בכמה ערכים בוליאניים.
מה זה Boolean ב-Python?
הטיפוס הבוליאני של Python הוא bool, ושני הערכים שלו הם True ו-False, באות גדולה. bool הוא תת מחלקה של int, ולכן True מתנהג כמו 1 בחישובים. הפונקציה bool() ממירה כל ערך ל-True או ל-False לפי הכללים של Python לערכי אמת.
מה זה חיפוש בוליאני?
חיפוש בוליאני משלב מילות חיפוש עם האופרטורים AND, OR ו-NOT כדי לצמצם או להרחיב את התוצאות. python AND tutorial דורש את שתי המילים, python OR java מקבל כל אחת מהן, ו-python NOT snake מוציא עמודים שמופיעה בהם המילה השנייה. קטלוגים של ספריות ומאגרי מידע מחקריים תומכים בזה ישירות, ו-Google מקבלת OR וסימן מינוס במקום NOT.
איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל