مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

کاربرد عملگرهای Any و All در پایتون چیست ؟

در زبان پایتون دو عملگر به نام های any , all وجود دارند که می‌توان گفت این دو عملگر گسترش داده شده عملگرهای منطقی and , or هستند. ابتدا any را در این مطلب توضیح می‌دهیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. عملگر Any
  2. عملگر All

عملگر Any

این عملگر به نوعی گسترش داده شده عملگر or می‌باشد. این عملگر یک لیست را به عنوان ورودی می‌گیرد. اگر لیست خالی باشد یا همه عناصر موجود مقدار false داشته باشند نتیجه false برمی گردد. ولی اگر یک عضو یا بیشتر از یک عضو در مجموعه مقدار true داشته باشد نتیجه true برگردانده خواهد شد. به عبارت دیگر any بین همه اعضای یک لیست یک or قرار داده و نتیجه را ارزیابی می کند.

# چون همه نادرست هستند نتیجه نادرست هستند 
print (any([False, False, False, False])) 

# در این عبارت چون عضو دوم درست است نتیجه درست است
print (any([False, True, False, False])) 

# در این عبارت عضو اول درست است و نتیجه درست می باشد
print (any([True, False, False, False])) 

به این نکته دقت داشته باشید که این عملگر هر جا که به یک عضو صحیح برسد دیگر بقیه اعصا ارزیابی نمی‌شود و نتیجه اعلام خواهد شد.

عملگر All

این عملگر پیشرفته and می‌باشد. به این صورت که یک لیست را به عنوان ورودی می‌گیرد و در صورتی که همه ی اعضا صحیح باشد نتیجه صحیح خواهد بود ولی اگر حتی یک عضو غلط باشد. نتیجه غلط خواهد بود. به عبارت دیگر این عملگر یک لیست را گرفته و همه اعضا را با هم and می‌کند و نتیجه را اعلام می کند. دقت کنید که این عملگر در طی ارزیابی به اولین مقدار غلط که برسد دیگر ادامه نمی‌دهد و نتیجه را اعلام می کند. به مثال‌های زیر دقت کنید.

# چون همه درست هستند جواب درست خواهد بود
print (all([True, True, True, True])) 


# اولین گزینه غلط است و بقیه گزینه ها بررسی نمی شوند.
print (all([False, True, True, False])) 


# همه غلط هستند و نتیجه غلط خواهد بود
print (all([False, False, False])) 

با وب سایت tosinso همراه باشید.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات