1. آموزش بولین ها در پایتون، نوع داده Boolean
1.1 تعریف و مقادیر بولین
در پایتون، دو مقدار اصلی True و False از نوع bool هستند:
x = True
y = False
print(type(x)) # <class ‘bool’>
print(type(y)) # <class ‘bool’>
True: نمایانگر صحت یا درست بودن یک عبارت.
False: نمایانگر نادرستی یا نادرست بودن یک عبارت.
1.2 تبدیل انواع دادهها به bool
پایتون بهطور خودکار انواع دادهها را به مقادیر بولین تبدیل میکند. این عمل معمولاً زمانی انجام میشود که شما یک مقدار را در یک شرط استفاده میکنید (مثل در دستور if).
پایتون مقادیر زیر را به False تبدیل میکند:
None
False
اعداد صفر مانند 0, 0.0
رشتههای خالی مانند “”
لیستها و دیکشنریهای خالی
هر مقدار دیگری به True تبدیل میشود.
به عنوان مثال:
print(bool(0)) # False
print(bool(1)) # True
print(bool("")) # False
print(bool("Hello")) # True
print(bool([])) # False
print(bool([1, 2])) # True
1.3 استفاده از bool در مقایسهها
مقادیر بولین به طور معمول در مقایسهها استفاده میشوند. پایتون اپراتورهای مقایسهای مانند ==, !=, >, <, >=, <= را دارد که نتایج آنها همیشه یک مقدار bool است.
به عنوان مثال:
a = 10 b = 20 print(a == b) # False print(a != b) # True print(a > b) # False print(a < b) # True
1.4 استفاده از bool در دستورات شرطی
یکی از کاربردهای مهم نوع داده bool در دستورات شرطی است. شما میتوانید از آن در ساختارهایی مانند if, elif, else استفاده کنید تا تصمیمات مختلفی در برنامه بگیرید.
به عنوان مثال:
age = 18
if age >= 18:
print("You are an adult.")
else:
print("You are a minor.")
در این مثال، شرط age >= 18 یک مقدار بولین است که اگر صحیح باشد، کد داخل بلاک if اجرا میشود.
1.5 استفاده از اپراتورهای منطقی
پایتون دارای اپراتورهای منطقی مانند and, or, و not است که به کمک آنها میتوان چندین عبارت بولین را با هم ترکیب کرد.
and: وقتی که هر دو عبارت درست باشند، نتیجه True است.
or: وقتی که حداقل یکی از عبارتها درست باشد، نتیجه True است.
not: معکوس کردن مقدار بولین.
به عنوان مثال:
x = True y = False print(x and y) # False print(x or y) # True print(not x) # False
2. ارزشیابی مقدار و ارزش
ارزشیابی در عمل
پایتون بهصورت lazy یا short-circuit عمل میکند. این به این معناست که اگر نتیجه یک عبارت با استفاده از and یا or مشخص شود، پایتون باقیمانده عبارت را محاسبه نمیکند.
در عملگر and، اگر یکی از مقادیر False باشد، بلافاصله نتیجه False برمیگردد.
در عملگر or، اگر یکی از مقادیر True باشد، بلافاصله نتیجه True برمیگردد.
به عنوان مثال:
# short-circuit در عملگر and
def func1():
print(“func1 executed”)
return True
def func2():
print(“func2 executed”)
return False
# در اینجا func2 هیچگاه اجرا نمیشود چون نتیجه نهایی قبلاً مشخص شده است
result = func1() and func2()
# short-circuit در عملگر or
result = func1() or func2()
در این مثال، مشاهده میکنید که در استفاده از and, اگر func1() True برگرداند، بلافاصله func2() اجرا نخواهد شد.
2.. بعضی مقادیر نادرست اند.
بعضی مقادیر نادرست اند.
ارزشیابی مقدار بولین در شرایط مختلف
پایتون برای ارزشیابی شرایط در دستورات شرطی از مقادیر بولین استفاده میکند. در اینجا، لازم است بدانیم که پایتون برخی از مقادیر را بهطور پیشفرض بهعنوان False یا True در نظر میگیرد:
مقادیر که بهعنوان False شناخته میشوند:
False
None
صفرها: 0, 0.0
رشتههای خالی: “”
لیست، دیکشنری، و دیگر ساختارهای دادهای خالی: [], {}
مقادیر که بهعنوان True شناخته میشوند:
هر مقدار غیر از مقادیر بالا، مانند عددهای مثبت یا منفی، رشتههای غیر خالی، لیستها و دیکشنریهای غیر خالی.
به عنوان مثال:
# بررسی مقادیر در دستور شرطی
if []: # لیست خالی
print("This will not be printed")
else:
print("Empty list is treated as False")
if [1, 2, 3]: # لیست غیر خالی
print("Non-empty list is treated as True")
# دیگر مقادیر مشابه
if 0: # 0 به عنوان False شناخته میشود
print("Zero is treated as False")
else:
print("Zero is treated as False")
if 5: # هر عدد غیر صفر به عنوان True شناخته میشود
print("Non-zero numbers are treated as True")
3. برگرداندن بولین توسط تابع ها
توابع میتوانند انواع مختلف دادهها را برگردانند، از جمله نوع دادهی بولی (Boolean). نوع دادهی بولی فقط دو مقدار ممکن دارد: True و False. این ویژگی در پایتون بسیار مفید است و اغلب برای انجام بررسیهای منطقی یا شرطی استفاده میشود.
برای فهم بهتر ابتدا به مثال زیر توجه کنید:
def is_even(number): # بررسی میکنیم که آیا عدد زوج است یا نه return number % 2 == 0 # مثال استفاده print(is_even(4)) # خروجی: True print(is_even(7)) # خروجی: False
توضیح:
تابع is_even یک عدد به عنوان ورودی میگیرد و بررسی میکند که آیا آن عدد زوج است یا نه.
از عملگر % برای محاسبه باقیمانده تقسیم استفاده کردهایم. اگر باقیمانده صفر باشد، یعنی عدد زوج است و در این صورت True برمیگرداند، در غیر این صورت False.
اگر نامفهوم بود می توانید برای درک بهتر به مثال زیر توجه کنید:
بررسی برابری دو عدد
در این مثال، تابع بررسی میکند که آیا دو عدد ورودی با هم برابر هستند یا نه:
def are_equal(a, b): # بررسی برابری دو عدد return a == b print(are_equal(5, 5)) # خروجی: True print(are_equal(5, 8)) # خروجی: False
نکات مهم:
توابع در پایتون میتوانند هر نوع دادهای را برگردانند، از جمله نوعهای اولیه (مانند int، float، str) و همچنین انواع پیچیدهتر مانند لیستها، دیکشنریها و حتی اشیاء از کلاسهای تعریفشده توسط کاربر.
توابعی که مقادیر بولی برمیگردانند معمولاً در شرایط (مثل if و while) یا در عملیات منطقی استفاده میشوند.
به طور کل می توان نتیجه گرفت در تابع ها، به صورت مستقیم و یا غیر مستقیم می توان از بولین(Boolean) استفاده کرد.
4. کاربرد مقادیر بولی در حلقهها
در حلقهها نیز از مقادیر بولی برای ادامه یا توقف حلقه استفاده میشود. برای مثال، میتوانیم از یک متغیر بولی برای توقف حلقه استفاده کنیم.
به عنوان مثال:
keep_going = True
count = 0
while keep_going:
count += 1
if count == 5:
keep_going = False
print("Loop ended after", count, "iterations.")
در این مثال:
حلقه while تا زمانی که مقدار keep_going برابر با True باشد ادامه مییابد.
وقتی تعداد تکرارها به ۵ رسید، مقدار keep_going به False تغییر میکند و حلقه متوقف میشود.
