آموزش متد __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

 

ویدیوهای مشابه



آموزش duck typing در پایتون
امیرحسین بیگدلو
ویدیو آموزش middleware در جنگو
امیرحسین بیگدلو

ارسال نظر


فعلا نظری برای نمایش وجود ندارد
مونگارد