Boolean چیست؟ – نوع داده بولی به زبان ساده

۶۶ بازدید
آخرین به‌روزرسانی: ۰۲ اردیبهشت ۱۴۰۳
زمان مطالعه: ۱۰ دقیقه
Boolean چیست؟ – نوع داده بولی به زبان ساده

در زبان‌های برنامه‌نویسی، انواع مختلفی از نوع داده‌ها را در اختیار داریم. از این نوع داده‌ها برای ذخیره‌سازی داده‌های گوناگون استفاده می‌کنیم. به عنوان مثال از نوع داده‌های Integer, رشته، Float و Boolean می‌توان به عنوان رایج‌ترین نوع داده‌های مورد استفاده در برنامه‌نویسی نام برد. در این مطلب از مجله فرادرس نوع داده Boolean را بررسی کرده‌ایم. اینکه Boolean چیست، چه کاربردی دارد، چه عملگرهایی برای کار با نوع داده Boolean وجود دارند و غیره. نوع داده Boolean دارای ساختار خاصی است که فقط می‌تواند دو مقدار متفاوت True یا False را در خود ذخیره کند. مطلب را با صحبت درباره نوع داده Boolean و مبدا آن شروع کرده‌ایم. همچنین برای این مطلب کد‌های مربوط به نوع داده بولین را در زبان برنامه‌نویسی پایتون پیاده‌سازی کردیم. البته منطق کلی نوع داده Boolean ثابت است و در تمام زبان‌های برنامه‌نویسی به‌همین صورت استفاده می‌شود اما برای تمرین و پیاده‌سازی کدهای مثال‌ها از زبان پایتون استفاده کردیم که یکی از پر استفاده‌ترین زبان‌های برنامه‌نویسی جهان است.

نوع بولین، یکی از نوع داده‌های درونی ارائه شده توسط تقریبا همه زبان‌های برنامه‌نویسی است. همانطور که اشاره شد مانند همه زبان‌های برنامه‌نویسی در پایتون نیز نوع داده بولین یکی از دو مقدار True یا False را نمایش می‌دهد. عموما این نوع داده برای نمایش مقادیر صحیح در عبارت‌ها استفاده می‌شود. طبق تعریف، Boolean نوع داده‌ای است که فقط یکی از دو حالت ممکن True یا False را می‌پذیرد. Boolean-ها در نوشتن منطق کامپیوتر‌، به معنای واقعی دارای اهمیت فوق‌العاده‌ای هستند. همچنین بولین‌ها برای بیان مفهوم درست یا غلط بودن هرچیزی مانند عبارت، متغیر، شرط یا غیره استفاده می‌شود.

Boolean چیست؟

بولین‌ها نام خود را از دانشمند انگلیسی به نام جورج بولی گرفته‌اند. جورج بولی، جبر بولی را در کتاب خودش به نام تحلیل‌های ریاضی درباره منطق در سال ۱۸۴۷ معرفی کرد. «جبر بولی» (Boolean Algebra) شاخه‌ای از ریاضیات است که با اعداد کار نمی‌کند بلکه فقط با دو مقدار صحیح و غلط یا همان True و False کار می‌کند.

زنجیره‌هایی از صفر و یک از بالای تصویر به پایین آویزان اند. یک درخت در وسط تصویر قرار دارد که ۳ نفر درحال رسیدگی به درخت هستند.

در جبر بولی اغلب صحیح و غلط را به ترتیب با اعداد 1 و 0 نمایش می‌دهند. با اینکه به ظاهر ساده است اما جبر بولی می‌تواند بسیار قدرتمند عمل کند. اگرچه که در این مطلب، عمیق‌تر از این به تئوری پشت جبر بولی نخواهیم پرداخت. در برنامه‌نویسی کامپیوتری نیز به کاربردهای Boolean بیشتر اهمیت قائل می‌شوند تا تئوری جبر بولی.

نوع داده بولین

مقدار بولین فقط می‌تواند دو نوع True  یا False باشد. خروجی <class ‘bool’>  نشان می‌دهد که نوع متغیر از نوع داده بولین است. به مثال زیر توجه کنید.

1a = True
2type(a)
3 
4b = False
5type(b)

خروجی تکه کد بالا به‌صورت زیر است.

<class 'bool'> 
<class 'bool'>

نوع داده بولین در پایتون چیست؟

همان‌طور که احتمالا حدس زده‌اید Boolean-ها به کامپیوتر کمک می‌کنند که منطق را درک کند. Boolean-ها برنامه‌نویس‌ها را قادر می‌سازند که به اشیا، عبارت‌ها، شرایط یا آیتم‌های دیگر مقادیر True یا False را اختصاص دهند. در نهایت برنامه‌ها می‌توانند قسمتی از کد را با توجه به مقدار True یا False در شی اجرا کنند یا از اجرای آن صرفه‌نظر کنند.

زبان برنامه‌نویسی پایتون نیز به عنوان زبانی سطح بالا، نوع داده‌ Boolean را به‌طور Built-In در خودش تعریف کرده است. از این نوع داده در ارزیابی عبارات شرطی، پُر کردن بعضی از خانه‌های‌ جداول داده‌ای در بخش پردازش داده و غیره می‌توان استفاده کرد. در بخش‌های بعدی مطلب به‌صورت دقیق‌تری به کاربرد این نوع داده درونی و روش استفاده آن با کمک کدهای پایتون پرداخته‌ایم. توجه کنید که منطق و حتی عملگرهای Boolean در همه زبان‌های برنامه‌نویسی یکسان هستند و تنها چیزی که ممکن است کمی تفاوت کند سینتکس نوشتن کدها در میان زبان‌های گوناگون برنامه‌نویسی است.

ارزیابی کردن متغیرها و عبارات

تابع bool() یکی از توابع اختصاصی پایتون است اما در سایر زبان‌های برنامه‌نویسی نیز توابعی شبیه به تابع bool() وجود دارد. می‌توانیم مقادیر و متغیر‌ها را با استفاده از تابع bool()  در پایتون ارزیابی کنیم. این متد برای برگرداندن یا تبدیل مقداری به مقدار Boolean استفاده می‌شود. در واقع استفاده از این متد روش استاندارد آزمایش صحت رَویه‌ها است.

سینتکس استفاده از این متد به‌صورت زیر است.

bool([x])

تابع bool در پایتون

بدون استفاده از تابع bool() نیز می‌توانیم عبارات برنامه‌نویسی را اعتبار سنجی کنیم. برای اجرای اینکار باید از عبارت‌های شرطی استفاده کنیم که در تمام زبان‌های برنامه‌نویسی با سینتکس‌های متفاوت وجود دارند. مقادیر Boolean به عنوان نتیجه از بعضی از انواع مقایسه‌ها برگشت داده می‌شوند. در مثال پایین مقادیر بولین حاصل از ارزیابی متغیر‌ها در شرایط مختلف با استفاده از تابع bool() نمایش داده شده است.

1x = 5
2y = 10
3print(bool(x==y))
4 
5# Returns False as x is None
6x = None
7print(bool(x))
8 
9# Returns False as x is an empty sequence
10x = ()
11print(bool(x))
12 
13# Returns False as x is an empty mapping
14x = {}
15print(bool(x))
16 
17# Returns False as x is 0
18x = 0.0
19print(bool(x))
20 
21# Returns True as x is a non empty string
22x = 'GeeksforGeeks'
23<print(bool(x))

خروجی کد بالا به‌صورت زیر است.

False
False
False
False
False
True

برای اینکه بدانیم روش کلی مقایسه متغیر‌ها با استفاده از نوع داده Boolean چیست به ادامه مطلب توجه کنید.

مقادیر Boolean در عبارات

از آنجا که در این کد متغیر a  به مقدار 10  و متغیر b  به مقدار 20  اختصاص داده شده است. نتیجه ارزیابی عملیات مقایسه‌ای a == b  برابر با False  می‌شود. بنابراین، کد زیر خروجی False خواهد داشت.

1a = 10
2b = 20
3 
4# Comparing variables
5print(a == b)

خروجی کد بالا به‌صورت زیر در کنسول نمایش داده می‌شود.

False

اعداد Integer و Float به عنوان بولین

اعداد را هم با استفاده از تابع bool() می‌توان به عنوان مقادیر Boolean در نظر گرفت. هر عدد صحیح، اعشار یا عدد مرکبی که مقدار عدد 0 را داشته باشند-مقدار عدد برابر با 0 باشد- به عنوان False در نظر گرفته می‌شوند. در حالی که اگر این اعداد مقادیری به غیر از صفر داشته باشند، هر مقداری، چه مثبت و چه منفی، به عنوان True در نظر گرفته می‌شوند.

برای درک بهتر مطلب بالا به مثال‌های زده شده در کد پایین توجه کنید.

1var1 = 0
2print(bool(var1))
3 
4var2 = 1
5print(bool(var2))
6 
7var3 = -9.7
8print(bool(var3))

خروجی کد بالا به‌صورت زیر است.

False
True
True

افزایش مهارت برنامه نویسی با فرادرس

برای بهترین بهره‌برداری از اطلاعات در زمینه داده‌های بولی و عملگرهای مرتبط با آن در زبان برنامه‌نویسی، باید در کار با خود زبان برنامه‌نویسی نیز مهارت کافی داشته باشیم. به عنوان یکی از روش‌های خوب برای آموختن برنامه‌نویسی می‌توان از شرکت در کلاس‌های حضوری نام برد. اما باید توجه کرد در کلاس‌های آکادمیک، علاوه بر قدیمی بودن روش تدریس، هزینه بالایی نیز بر دانشجویان تحمیل می‌شود. ریسک پایین بودن کیفیت آموزش وجود دارد و مهم‌تر اینکه چنین کلاس‌هایی دارای چهارچوب زمانی خاصی نیز هستند. بنابراین پیدا کردن کلاسی که با زمان آزاد علاقه‌مندان به یادگیری، هماهنگ و از لحاظ هزینه مقرون به صرفه باشد، در عین حال کیفیت آموزشی خوب را هم تضمین کند کمی دشوار است.

بنابراین، یکی از بهترین گزینه‌ها استفاده از فیلم‌های آموزشی می‌باشد. سایت فرادرس مجموعه‌ای از فیلم‌های آموزشی با کیفیت و مناسب برای افراد با هر سطح دانش ارائه می‌دهد. این فیلم‌ها با استفاده از استادان ماهر و روش‌های آموزشی موثر و با کیفیت، تهیه شده‌اند. یکی از نکات برجسته این فیلم‌ها این است که فیلم‌های مربوط به مقدماتی برنامه‌نویسی به صورت رایگان در دسترس قرار دارند. بنابراین، اگر می‌خواهید مهارت‌های برنامه‌نویسی خود را بهبود بخشید، این فیلم‌های آموزشی می‌توانند یک انتخاب عالی برای شروع باشند.

مجموعه آموزش برنامه نویسی از مبتدی تا انتها

عملگرهای Boolean چیست؟

عملگرهای بولین، عملگرهای محاسباتی ریاضی ساده‌ای درباره مقادیر True یا False هستند. با استفاده از عملگرهای AND و OR و NOT می‌توان با این مقادیر کار کرد. در ادامه تعدادی از عملگرهای رایج مختص محاسبات Boolean را فهرست کرده‌ایم.

  • or  «یا»
  • and  «و»
  • not  «نیست | نه | به‌جز»
  • == «برابری»
  • =!  «نابرابری»

عملگر بولین OR

اگر هر کدام از ورودی‌ها عملگر بولین OR -مقادیر دو طرف عملگر- برابر با مقدار True باشند، خروجی این عملگر هم برابر با True می‌شود، در غیر این صورت خروجی برابر با False می‌شود. به جدول زیر توجه کنید.

A or BB
TrueTrueTrue
TrueFalseTrue
TrueTrueFalse
FalseFalseFalse

عملگر بولین OR در پایتون

در مثالی نمایش داده شده پایین از عملگر بولین OR در پایتون استفاده کرده‌ایم. با استفاده از عبارت شرطی if  و عملگر or بررسی می‌کنیم که آیا a بزرگتر از b  است یا b بزرگتر از c  است. در این عبارت اگر هر کدام از شرایط صحیح باشند مقدار True در خروجی چاپ می‌شود. «در این مثال عبارت b<c  برقرار است.»

1a = 1
2b = 2
3c = 4
4 
5if a > b or b < c:
6    print(True)
7else:
8    print(False)
9 
10if a or b or c:
11    print("Atleast one number has boolean value as True")

خروجی کد بالا به‌صورت زیر در کنسول برنامه چاپ می‌شود.

True
Atleast one number has boolean value as True

عملگر AND بولین

برای اینکه بدانیم کاربرد این عملگر بر روی داده‌های Boolean چیست باید توجه کنید درصورتی که هر کدام از عملوند‌های این عملگر Boolean -مقادیر دو طرف عملگر- برابر با مقدار False باشند، خروجی نهایی این عملگر نیز برابر با False است. در غیر این صورت مقدار True بر می‌گرداند.

برای درک بهتر مطلب به جدول زیر توجه کنید.

A and BBA
TrueTrueTrue
FalseFalseTrue
FalseTrueFalse
FalseFalseFalse

عملگر AND بولین در پایتون

به مثال زیر توجه کنید. در قسمت اول کد زیر، عبارت کلی a > b  و b < c  به‌صورت False ازریابی می‌شوند. بنابراین، کد بلاک مربوط به else را اجرا خواهد کرد و مقدار False را در خروجی چاپ می‌کند. از آنجا که در قسمت دوم مقدار متغیر a برابر با 0  است، شرایط a و b  و c  برابر با False ارزیابی می‌شوند. زیرا همانطور که اشاره کردیم فقط کافی است یکی از متغیر‌ها -در اینجا متغیر a - برابر با False باشد تا جواب کل عملیات AND برابر با False شود. بنابراین، کد بلاک else  را اجرا خواهد کرد و جمله «At least one number has a Boolean value as False» را در خروجی چاپ می‌کند.

در صورتی که تمایل داشته باشید به‌صورت کلی درباره انواع عملگر‌ها در برنامه‌نویسی مطالعه بیشتری داشته باشید می‌توانید از مطلب عملگر در برنامه نویسی مجله فرادرس استفاده کنید. کد زیر را برای بررسی عملگر and در نظر بگیرید.

1a = 0
2b = 2
3c = 4
4 
5if a > b and b<c:
6    print(True)
7else:
8    print(False)
9     
10if a and b and c:
11    print("All the numbers has boolean value as True")
12else:
13    print("Atleast one number has boolean value as False")

خروجی کد بالا به‌صورت زیر برای کاربر نمایش داده می‌شود.

False
Atleast one number has boolean value as False

عملگر Not بولین

عملگر Not بولین فقط به یک آرگومان نیاز دارد و حالت نقض آن آرگومان را نمایش می‌دهد. این عملگر برای مقدار False ، مقدار True را برمی‌گرداند و برای مقدار True مقدار False را برمی‌گرداند.

مانیتور روشن بر روی میزکار قرار دارد. مانیتور کدهای برنامه نویسی را نمایش می‌دهد - Boolean چیست

به جدول زیر توجه کنید.

Not AA
FalseTrue
TrueFalse

عملگر Not بولین در پایتون

این کد نشان می‌دهد وقتی که مقدار متغیر a برابر با 0  باشد برابر با مقدار False در نظر گرفته می‌شود. پس شرط عبارت if برقرار می‌باشد و در نتیجه در نتیجه پیغام متناسب با شرط اجرا می‌شود.

1a = 0
2 
3if not a:
4    print("Boolean value of a is False")

خروجی کد بالا به‌صورت زیر است.

Boolean value of a is False

عملگرهای برابری == و نابرابری =!

قبل از اینکه بدانیم کاربرد این عملگرها در Boolean چیست باید بدانیم که این نوع از عمگرها جزو عملگرهای مقایسه‌ای هستند. یعنی هر دو این عملگرها برای مقایسه دو مقدار استفاده می‌شوند. عملگر == یا برابری فقط وقتی مقدار True برمی‌گرداند که هر دو عملوند دو طرف عملگر برابر هم باشند. در غیر این صورت مقدار False برمی‌گرداند و عملگر =! یا نابرابری فقط وقتی مقدار True برمی‌گرداند که عملوند‌های دو طرف عملگر با یکدیگر برابر نباشند. در غیر این صورت مقدار False برمی‌گرداند.

در صورتی که به تازگی به برنامه‌نویسی علاقه مند شده‌اید و تمایل دارید تا با مسیر یادگیری و توسعه و بازار کار این حرفه آشنا شوید می‌توانید از فیلم رایگان آشنایی با شغل برنامه نویس، وظایف، مهارتها، فرصتهای شغلی و بازار کار فرادرس استفاده کنید.

عملگرهای برابری == و نابرابری =! در پایتون

در مثال پایین، کد، مقادیری را به متغیرهای a و b تخصیص می‌دهد. سپس از عبارت‌های شرطی برای بررسی برابری مقدار متغیر a با 0  استفاده می‌کند. بعد از آن شرایط دیگر را بررسی می‌کند. اگر a برابر با b باشد و اگر a برابر با b نباشد این کد مقدار True را در خروجی چاپ می‌کند. بنابراین در جواب عبارت اول و سوم مقدار True چاپ خواهد شد.

به کد زیر توجه کنید.

1a = 0
2b = 1
3 
4if a == 0:
5    print(True)
6     
7if a == b:
8    print(True)
9     
10if a != b:
11    print(True)

خروجی کد بالا به‌صورت زیر در کنسول پایتون چاپ می‌شود.

True
True

عملگر is

یکی دیگر از عملگرهایی که حتما باید بدانیم کاربردش در Boolean چیست عملگر is  است. از کلمه کلیدی is  برای بررسی تعلق دو متغیر به یک شی استفاده می‌شود. در این آزمایش اگر هر دو شی یکسان باشند مقدار True برگردانده می‌شود و در غیر این‌صورت مقدار False برمی‌گرداند حتی اگر هر دو شی ۱۰۰٪ باهم برابر باشند.

تعداد بسیار زیادی کامپیوتر قدیمی در یک سالن بر روی میز برای کار کردن قرار گرفته اند.

عملگر is در پایتون

در مثال پایین، در ابتدا کد مقدار 10  را به متغیرهای x  و y  اختصاص می‌دهد. سپس کد متغیرهای x و y را با استفاده از عملگر is با یکدیگر مقایسه می‌کند. نتیجه این مقایسه مقدار True است، زیرا این دو متغیر به شی یکسانی اشاره می‌کنند. در مرحله بعد، کد دو لیست مجزا را به متغیرهای x و y تخصیص می‌دهد و این دو متغیر را با استفاده از عملگر is با یکدیگر مقایسه می‌کند. جواب ناشی از این مقایسه برابر با مقدار False است، زیرا لیست‌ها در حافظه کامپیوتر اشیا مجزایی از هم هستند.

به کد آمده پایین توجه کنید.

1x = 10
2y = 10
3 
4if x is y:
5    print(True)
6else:
7    print(False)
8 
9x = ["a", "b", "c", "d"]
10y = ["a", "b", "c", "d"]
11 
12print(x is y)

خروجی کد بالا به‌صورت زیر است.

True
False

عملگر in

آخرین عملگری که در این مطلب می‌آموزیم که کاربردش در Boolean چیست، عملگر in  است. عملگر in عضویت را در داده‌های Boolean بررسی می‌کند. عملگر بررسی می‌کند که آیا مقدار سمت چپ عملگر در نوع داده پیمایش‌پذیر سمت راست وجود دارد یا نه. نوع داده سمت راست می‌تواند لیست، تاپل، Range، رشته و غیره باشد.

عملگر in در پایتون

در مثال آمده پایین، کد نمایش‌داده شده لیستی از حیوانات ایجاد کرده است و بررسی می‌کند که آیای رشته “lion”  در لیست موجود است یا نه. اگر در این لیست، رشته “lion” موجود بود، کد برنامه، در خروجی کلمه True را نمایش می‌دهد. در غیر این صورت نتیجه برابر با False است اما خروجی نمایش داده نمی‌شود. به کد زیر توجه کنید.

1animals = ["dog", "lion", "cat"]
2
3# Check if lion in list or not
4if "lion" in animals:
5	print(True)

چطور به برنامه نویسی بیشتر و بهتر مسلط شویم؟

در مطلب بالا به صورت مفصل در مورد اینکه نوع داده Boolean چیست صحبت کردیم، کاربرد نوع داده Boolean از مجموعه عملیات ریاضی است. این عملیات ریاضی را می‌توانید در هر زبان برنامه‌نویسی انجام دهید. اگر علاقه‌ دارید به عنوان یک برنامه‌نویس تحلیل‌گر داده، متخصص هوش مصنوعی و غیره مهارت خود در زمینه برنامه‌نویسی را افزایش دهید، فیلم‌های آموزشی فرادرس می‌توانند در این زمینه به صورت قابل توجهی کمک کنند.

در همین راستا، برخی از فیلم‌های آموزشی فرادرس در زیر آورده شده‌اند.

مجموعه آموزش برنامه نویسی از مبتدی تا انتها

لازم به یادآوری است برای افرادی که علاقه‌مند به شروع یادگیری سایر زبان‌های برنامه‌نویسی هستند نیز در سایت فرادرس دوره‌های کاملی متناسب با هر زبان‌ برنامه‌نویسی قرار داده شده است که در ادامه فقط چند مورد از این دوره‌ها را فهرست کرده‌ایم.

جمع بندی

نوع داده بولی یکی از نوع داده‌های رایج با کاربرد‌های بسیار زیاد در برنامه‌نویسی است. می‌توانید از بولین‌ها در کنار عملگرهایی مانند not و and و or و in و is و == و != برای مقایسه مقادیر با یکدیگر استفاده کنید. با استفاده از این عملگرها می‌توان برابری، عضویت و همانی داده‌ها را بررسی کرد. همچنین با استفاده از عبارت شرطی if و داده‌های بولین می‌توانیم حالات ممکن در برنامه را آزمایش و بررسی کنیم. همچنین می‌توان بررسی کرد که آیا عبارت برنامه‌نویسی خاصی صحیح است یا غلط.

در این مطلب از مجله فرادرس در ابتدا آموختیم Boolean چیست و اینکه چگونه با استفاده از عملگرهای بولی با مقادیر Boolean کار کنیم. در نهایت یادگرفتیم که با استفاده از مقادیر Boolean کدهای خواناتر و کارآمدتر بنویسیم. این دانش کمک می‌کند که از این به بعد کدهایی که می‌بینیم را راحت‌تر درک کنیم و از مسائل و مشکلات احتمالی پرهیز کنیم که در آینده می‌تواند باعث بروز خطا در کدهای خودمان شود.

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
edliteraRealPythonGeeksforGeeksGeeksforGeeks
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *