وقتی دو مقدار را با هم مقایسه می کنید، عبارت ارزیابی میشود و پایتون یکی از دو مقدار true و یا false را برمیگرداند.
print(10 > 9)
print(10 == 9)
print(10 < 9)
وقتی یک شرط را در دستور if اجرا می کنید پایتون یکی از دو مقدار true و یا false را برمیگرداند.
در مثال زیر یک عبارت را با توجه به درست و غلط بودن شرط در خروجی چاپ می کند.
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
ارزیابی مقادیر و متغیرها با تابع bool
تابع bool به شما اجازه می دهد که هر مقداری را ارزیابی کنید و یکی از دو مقدار true و یا false را برای شما به عنوان خروجی برمیگرداند.
مثال زیر یک عبارت عددی و یک عبارت رشته ای را ارزیابی می کند.
x = "Hello"
y = 15
print(bool(x))
print(bool(y))
مقادیر true
تقریبا هر مقداری که دارای یک نوع محتوا باشد مقدار true را برمیگرداند.
به جز رشته خالی، هر رشته و یا متغیر رشته ای مقدار true را برمیگرداند.
هر عددی به جز عدد 0 مقدار true را برگشت می دهد.
همه list ها، tuple ها، set ها و dictionary ها به جز مقدار خالی از آن ها مقدار true را برمیگرداند.
bool("abc")
bool(123)
bool(["apple", "cherry", "banana"])
مقادیر false
در حقیقت، مقادیر زیادی با مقدار false ارزیابی نمی شوند به جز مقادیر خالی مانند () , [] , “” , {} ، مقدار عددی 0، مقدار None و البته مقادیری که با مقدار false مقدار دهی شده باشند.
bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})
در یک مورد دیگر نیز مقدار یا شی با مقدار false ارزیابی می شوند و آن این است که شما یک شی داشته باشید و آن را از کلاسی با تابع __len__ ساخته باشید. در این صورت مقدار برگشتی false و یا 0 خواهید داشت.
class myclass():
def __len__(self):
return 0
myobj = myclass()
print(bool(myobj))
برگشت مقدار بولی در توابع
شما می توانید یک تابع بسازید که مقدار Boolean را برگشت دهد.
def myFunction() :
return True
print(myFunction())
شما همچنین می توانید کد خودتون رو بر اساس جواب بولی یک تابع اجرا کنید.
در مثال زیر در صورتی که تابع مقدار true را برگرداند کلمه “YES!” چاپ می شود در غیر این صورت کلمه “NO!” چاپ خواهد شد.
def myFunction() :
return True
if myFunction():
print("YES!")
else:
print("NO!")
پایتون دارای توابع داخلی زیادی است که مقدار بولی را برمیگرداند، مانند تابع Isinstance() که برای تعیین اینکه آیا شی از نوع داده خاصی است یا نه استفاده می شود.
در مثال زیر بررسی می شود که شی از نوع داده ای عددی است یا خیر.
x = 200
print(isinstance(x, int))