نوع داده بولین در پایتون برای نمایش دو مقدار منطقی True (درست) و False (نادرست) به کار میرود. این نوع داده معمولاً در تصمیمگیریهای برنامهنویسی، مانند عبارات شرطی (if و while)، و همچنین در ترکیب با عملگرهای منطقی (and، or، not) استفاده میشود. از آنجایی که مقدارهای بولین در پایتون زیرمجموعهای از نوع داده int هستند، مقدار True معادل عدد ۱ و مقدار False معادل عدد ۰ است.
مقدمه
در پایتون، انواع مختلفی از دادهها میتوانند به مقدار بولین تبدیل شوند. برای مثال، مقدارهای عددی صفر (۰) و مقادیر تهی مانند “” (رشته خالی)، [ ] (لیست خالی) و None همگی به False تبدیل میشوند، در حالی که سایر مقادیر به True تبدیل خواهند شد. این ویژگی در بررسی وضعیت متغیرها و اجرای شرطها بسیار مفید است. در این مقاله به بررسی نوع داده ای بولین در پایتون می پردازیم و انواع عملگرها و مباحث مختلف در این زمینه را بررسی خواهیم کرد.
بولین در پایتون چیست؟
بولین در پایتون یک نوع داده است که میتوانند یکی از دو مقدار ممکن، یعنی True یا False را داشته باشد. این دو مقدار تنها مقادیر بولین ها هستند و برای نمایش مقادیر حقیقت عبارات استفاده میشوند. نوع داده Boolean به افتخار جورج بویل نامگذاری شده است، کسی که برای اولین بار در اواسط قرن نوزدهم یک سیستم جبری منطق را تعریف کرد.
Input: 1==1 Output: True Input: 2<1 Output: False
نوع بولین در پایتون
مقدار بولین در پایتون فقط میتواند دو نوع باشد: True یا False
خروجی <class bool> نشاندهنده این است که متغیر یک نوع داده، بولین است.
a = True type(a) b = False type(b)
خروجی:
<class 'bool'> <class 'bool'>
ارزیابی متغیرها و عبارات
ما میتوانیم مقادیر و متغیرها را با استفاده از تابع ()bool در پایتون ارزیابی کنیم. این روش برای بازگرداندن یا تبدیل یک مقدار به یک مقدار بولین یعنی True یا False، با استفاده از روش استاندارد آزمون صحت (truth testing) به کار میرود.
نحو (Syntax):
bool([x])
تابع ()bool در پایتون
ما میتوانیم عبارات را بدون استفاده از تابع ()bool نیز ارزیابی کنیم. مقادیر بولین در پایتون به عنوان نتیجهای از نوعی مقایسه بازگشت میکنند. در مثال زیر، متغیر res بعد از انجام مقایسه برابری، مقدار بولین False را ذخیره خواهد کرد.
# Python program to illustrate # built-in method bool() # Returns False as x is not equal to y x = 5 y = 10 print(bool(x==y)) # Returns False as x is None x = None print(bool(x)) # Returns False as x is an empty sequence x = () print(bool(x)) # Returns False as x is an empty mapping x = {} print(bool(x)) # Returns False as x is 0 x = 0.0 print(bool(x)) # Returns True as x is a non empty string x = 'programstor' print(bool(x))
خروجی:
False False False False False True
مقدار بولین از عبارت
در این کد، از آنجایی که به متغیر a مقدار ۱۰ و به متغیر b مقدار ۲۰ اختصاص داده شده است، مقایسه a == b در پایتون به مقدار False ارزیابی میشود. بنابراین، خروجی کد False خواهد بود.
# Declaring variables a = 10 b = 20 # Comparing variables print(a == b)
خروجی:
False
اعداد صحیح و اعشاری به عنوان بولین
اعداد را میتوان با استفاده از متد داخلی ()bool در پایتون به مقادیر بولین تبدیل کرد. هر عدد صحیح، اعشاری یا مختلط که مقدار آن صفر باشد، به عنوان False در نظر گرفته میشود. در حالی که اگر مقدار آن هر عدد مثبت یا منفی باشد، به عنوان True در نظر گرفته میشود.
var1 = 0 print(bool(var1)) var2 = 1 print(bool(var2)) var3 = -9.7 print(bool(var3))
خروجی:
False True True
عملگرهای بولین در پایتون
عملیات بولین در پایتون محاسبات سادهای بر روی مقادیر True و False هستند. این مقادیر با استفاده از عملگرهای بولین در پایتون مانند AND، OR و NOT قابل تغییر هستند. عملگرهای بولین رایج عبارتاند از:
- عملگر or
- عملگر and
- عملگر not
- عملگر == (برابر)
- عملگر != (نابرابر)
عملگر بولین OR
عملگر or بولین زمانی مقدار True را بازمیگرداند که حداقل یکی از ورودیها True باشد، در غیر این صورت مقدار False برمیگردد.
در این مثال، از یک مقدار بولین در پایتون همراه با دستور if و عملگر OR استفاده شده است. این دستور بررسی میکند که آیا a بزرگتر از b است یا b کوچکتر از c. اگر هر یک از این شرایط درست باشد (در مثال بالا b < c) ، مقدار True بازگردانده میشود.
# Python program to demonstrate # or operator a = 1 b = 2 c = 4 if a > b or b < c: print(True) else: print(False) if a or b or c: print("Atleast one number has boolean value as True")
خروجی:
True Atleast one number has boolean value as True
عملگر AND بولین
عملگر بولین ها and زمانی مقدار False را برمیگرداند که حداقل یکی از ورودیها False باشد. در غیر این صورت، مقدار True بازگردانده میشود.
در بخش اول کد، عبارت کلی a > b and b < c به مقدار False ارزیابی میشود. بنابراین، بلوک else اجرا شده و مقدار False چاپ میشود.
در بخش دوم، مقدار a برابر با ۰ است. در این شرایط، عبارات a، b و c به مقدار False ارزیابی میشوند، زیرا یکی از متغیرها (a) مقدار بولین False دارد. بنابراین، بلوک else اجرا شده و پیام «حداقل یکی از اعداد مقدار بولین False دارد» چاپ میشود.
# Python program to demonstrate # and operator a = 0 b = 2 c = 4 if a > b and b<c: print(True) else: print(False) if a and b and c: print("All the numbers has boolean value as True") else: print("Atleast one number has boolean value as False")
خروجی:
False Atleast one number has boolean value as False
عملگر NOT بولین
عملگر بولین ها not تنها به یک آرگومان نیاز دارد و نگاشت (وارونه) آن آرگومان را برمیگرداند؛ یعنی اگر آرگومان False باشد، مقدار True بازگردانده میشود و اگر آرگومان True باشد، مقدار False برگردانده میشود.
عملگر NOT بولین در پایتون
این کد نشان میدهد که وقتی مقدار a برابر با ۰ باشد، به عنوان یک مقدار نادرست (falsy) در نظر گرفته میشود. بنابراین، بلوک کدی که داخل دستور if قرار دارد اجرا شده و پیام مربوطه چاپ میشود.
# Python program to demonstrate # not operator a = 0 if not a: print("Boolean value of a is False")
خروجی:
Boolean value of a is False
عملگرهای == و != بولین ها
هر دو عملگر برای مقایسه دو نتیجه استفاده میشوند:
- عملگر == (برابر) مقدار True را بازمیگرداند اگر دو نتیجه برابر باشند.
- عملگر != (نابرابر) مقدار True را بازمیگرداند اگر دو نتیجه متفاوت باشند.
در این کد، مقادیری به متغیرهای a و b اختصاص داده میشود و سپس با استفاده از دستورات شرطی بررسی میشود که:
- آیا a برابر با ۰ است.
- آیا a برابر با b است.
- آیا a نابرابر با b است.
این کد برای شرط اول و سوم مقدار True چاپ میکند.
# Python program to demonstrate # equivalent an not equivalent # operator a = 0 b = 1 if a == 0: print(True) if a == b: print(True) if a != b: print(True)
خروجی:
True True
عملگر is در پایتون
کلمه کلیدی is برای آزمایش این استفاده میشود که آیا دو متغیر به یک شیء یکسان تعلق دارند یا خیر. این آزمون مقدار True را بازمیگرداند اگر دو شیء یکسان باشند، و در غیر این صورت مقدار False را برمیگرداند حتی اگر دو شیء ۱۰۰% برابر باشند.
در این کد، ابتدا مقدار ۱۰ به متغیرهای x و y اختصاص داده میشود. سپس x و y با استفاده از عملگر is مقایسه میشوند و مقدار True چاپ میشود چون هر دو به یک شیء اشاره دارند. بعد از آن، دو لیست جداگانه به x و y اختصاص داده میشود. سپس x و y با استفاده از عملگر is مقایسه میشوند و مقدار False چاپ میشود چون این دو لیست شیءهای متفاوتی در حافظه هستند.
# Python program to demonstrate # is keyword x = 10 y = 10 if x is y: print(True) else: print(False) x = ["a", "b", "c", "d"] y = ["a", "b", "c", "d"] print(x is y)
خروجی:
True False
عملگر in در پایتون
عملگر in برای بررسی عضویت استفاده میشود؛ یعنی بررسی میکند که آیا یک مقدار در یک لیست، تاپل، رنج، رشته و غیره وجود دارد یا خیر.
در این کد، یک لیست از حیوانات ایجاد میشود و بررسی میشود که آیا رشته lion در لیست موجود است یا خیر. اگر lion در لیست پیدا شود، مقدار True چاپ میشود.
# Python program to demonstrate # in keyword # Create a list animals = ["dog", "lion", "cat"] # Check if lion in list or not if "lion" in animals: print(True)
خروجی:
True
نتیجه گیری
بولین در پایتون یکی از انواع دادههای اساسی و مهم هستند که برای نمایش مقادیر حقیقت (True) یا نادرستی (False) استفاده میشوند. این نوع داده معمولاً در عبارات شرطی، مقایسهها، و دستورات کنترل برای تعیین مسیر اجرای برنامه کاربرد دارد. در پایتون، نوع داده بولین از زیرمجموعههای نوع داده عدد صحیح (integers) است، به این معنا که مقدار True معادل ۱ و False معادل ۰ است.
عملگرهای بولین ها مانند and ، or، not ، == و != به ما این امکان را میدهند که مقایسهها و ترکیبهای پیچیدهای از شرایط مختلف را انجام دهیم. همچنین، عملگر is برای بررسی این که آیا دو متغیر به همان شیء اشاره دارند، و عملگر in برای بررسی وجود یک عنصر در یک دنباله یا مجموعه به کار میروند.
در پایتون، میتوان هر مقداری را به یک بولین تبدیل کرد با استفاده از تابع ()bool. مقادیری مانند ۰، None، و دنبالههای خالی به عنوان False در نظر گرفته میشوند، در حالی که همه مقادیر دیگر به عنوان True در نظر میآیند.در نهایت، یادگیری و درک صحیح بولین در پایتون برای انجام مقایسهها و شرطها در پایتون ضروری است، زیرا آنها پایه و اساس بسیاری از ساختارهای منطقی و تصمیمگیری در برنامهنویسی هستند. این ابزارها به شما کمک میکنند تا برنامههای هوشمندتر و کارآمدتری بنویسید که به طور صحیح واکنش نشان دهند و منطقی عمل کنند.