آموزش متد __bool__ در پایتون
امیرحسین بیگدلو June 2023
# متد ()bool پایتون
متد bool یک متد داخلی پایتون است که برای تست درستی آبجکتها استفاده میشود. این متد یک آبجکت گرفته و مقدار True یا False را برمیگرداند. سینتکس کلی آن به شکل زیر است:
bool([x])
متد bool به شکل زیر کار میکند:
- اگر یک آبجکت، متد __bool__ را در خود داشته باشد، از مقدار برگشتی این متد استفاده میکند. اگر متد __bool__ نباشد، متد __len__ را بررسی میکند و از مقدار برگشتی این متد استفاده میکند.
- اگر آبجکت به هر شکلی صفر باشد، False برمیگرداند.
- اگر آبجکت خالی باشد، False برمیگرداند، مثلا یک string خالی یا یک تاپل خالی
- اگر آبجکت None باشد نیز False برمیگرداند.
دقت کنید که اگر هیچ یک از متدهای __bool__ و __len__ نباشند، به طور پیشفرض مقدار True برگشت داده خواهد شد.
# استفاده از __bool__ در کلاس پایتون
در کلاس زیر ما از متد __bool__ پایتون در یک کلاس استفاده کردهایم تا مقدار درستی یک آبجکت را بگیریم. اگر مقدار ورودی درست باشد مقدار True را برمیگردانیم در غیر اینصورت False برگشت داده خواهد شد:
class custom():
val = 0
def __init__(self, num):
self.val = num
def __bool__(self):
return bool(self.val)
# custom objects
x = custom(0)
y = custom(52)
print(bool(x)) # False
print(bool(y)) # True
ارسال نظر