برنامه نویسی و طراحی سایت

تابع any در پایتون — کاربردها به زبان ساده + فیلم آموزشی رایگان

تابع any در پایتون — کاربردها به زبان ساده + فیلم آموزشی رایگان

در برنامه نویسی پایتون ممکن است نیاز به چک کردن شرطی برای هر آیتم در یک تکرارگر (Iterable) مثل لیست در پایتون (یا تاپل، دیکشنری یا مجموعه) ارزیابی و True یا False ‌بودن آن شرط بررسی شود. در چنین مواردی می‌توان از تابع any در پایتون استفاده کرد که یکی از کاربردی‌ترین ترفندهای پایتون به حساب می‌آید. در این مقاله، آموزش تابع any در پایتون به‌طور جامع ارائه شده و با استفاده از مثال‌هایی ساده، نحوه عملکرد این تابع و همچنین تابع all در پایتون شرح داده شده است. معمولاً از عبارت‌هایی مثل دستور any در پایتون ، عملگر any در پایتون ، متد any در پایتون یا فانکشن any در پایتون هم برای خطاب قرار دادن این قابلیت عملکردی استفاده می‌شود.

فهرست مطالب این نوشته
فیلم آموزشی توابع Any و All در پایتون

نوع داده بولین در پایتون

چگونه از تابع any در پایتون استفاده کنیم؟

سینتکس تابع any در پایتون

معرفی فیلم های آموزش پایتون

مثال هایی برای درک بهتر نحوه استفاده از تابع any در پایتون

چگونه برای بررسی وجود عدد در رشته از تابع any در پایتون استفاده کنیم؟

مروری بر لیست مفهومی در پایتون

برنامه بررسی وجود عدد در رشته با تابع any در پایتون

چگونه برای بررسی وجود حروف در رشته از تابع any در پایتون استفاده کنیم؟

چگونه برای ترکیب چند شرط به جای OR منطقی از تابع any در پایتون استفاده کنیم؟

چگونه از تابع all در پایتون استفاده کنیم؟

سینتکس تابع all در پایتون

چگونه برای بررسی تماماً حروف بودن کاراکترهای رشته از تابع all در پایتون استفاده کنیم؟

چگونه برای بررسی تماماً عددی بودن کاراکترهای رشته از تابع all در پایتون استفاده کنیم؟

چگونه برای ترکیب چند شرط به جای AND منطقی از تابع all در پایتون استفاده کنیم؟

جمع‌بندی

faradars mobile

فیلم آموزشی توابع Any و All در پایتون

دانلود ویدیو

کلمه انگلیسی any در فارسی به معنی «هر» است که مفهوم و کارکردی شبیه به OR منطقی در برنامه نویسی دارد. تابع all در پایتون نیز ماهیتی مشابه تابع any دارد و برای چک کردن این مسئله استفاده می‌شود که آیا شرطی برای تمام آیتم‌ها در عنصری تکرارشونده (Iterable) برابر با True

 ارزیابی می‌شود یا خیر؟ بنابراین در این مقاله پس از آموزش جامع تابع any‌ در پایتون به تابع all هم پرداخته شده است.

آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python
فیلم آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python در تم آف

کلیک کنید

نوع داده بولین در پایتون

پیش از آنکه تابع any در پایتون و همچنین تابع all در پایتون شرح داده شوند، بهتر است نوع داده بولین (منطقی) در پایتون به‌طور خلاصه مرور شود.

در پایتون می‌توان تابع bool()‎

 را روی هر شیئی اعمال کرد تا ارزش درستی آن (یعنی True

 یا False

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

# truth value of None is False
print(bool(None))
# Output
False

# truth value of an empty string ("") is False
print(bool(""))
# Output
False

# truth value of an empty list (or any iterable) is False
print(bool([]))
# Output
False

# truth value of 0 {int (0), float (0.0) and complex (0j)} is False
print(bool(0))
# Output
False

همان‌طور که در قطعه کد بالا مشاهده می‌شود:

  • None

     ارزش درستی برابر با False

     دارد.

  • ارزش درستی عدد صفر ( 0

     ) در تمام نمایش‌های آن یعنی به صورت صحیح، اعشاری و مختلط، False

     است.

  • تمام تکرارشونده‌های خالی مثل لیست‌ها، تاپل‌ها و رشته‌ها دارای ارزش درستی False

     هستند.

بنابراین با این توضیحات، اکنون واضح‌تر به‌نظر می‌رسد که ارزش درستی تمام مقادیر غیرصفر و همه تکرارشونده‌های غیر پوچ True

 است. حال پس از شرح این پیش‌نیازها، زمان آن فرا رسیده است تا به آموزش تابع any در پایتون پرداخته شود.

چگونه از تابع any در پایتون استفاده کنیم؟

برای شروع بهتر است ابتدا درکی از سینتکس این تابع بدست آید. سپس از چند مثال ساده استفاده می‌شود و پس از آن هم مثال‌هایی کاربردی‌تر ارائه خواهند شد.

تابع any در پایتون

سینتکس تابع any در پایتون

سینتکس تابع any در پایتون به صورت any(iterable)

 است که:

  • اگر bool(x)

     برای هر x

     در iterable برابر با True‌

     باشد، تابع any‌ در پایتون مقدار True‌

     را بازمی‌گرداند.

  • اگر iterable خالی باشد، تابع any‌ در پایتون مقدار False

     را بازمی‌گرداند.

بنابراین، تابع any در پایتون یک تکرارشونده یا همان iterable را به عنوان آرگومان دریافت و آن را بررسی می‌کند و اگر حداقل یکی از اقلام در تکرارشونده True

 باشد، خروجی تابع any هم True

 خواهد بود.

معرفی فیلم های آموزش پایتون

آموزش پایتون تم آف

در پلتفرم تم آف دوره‌های آموزش پایتون در قالب یک مجموعه آموزشی گردآوری شده‌اند. علاقه‌مندان به این زبان برنامه نویسی می‌توانند برای شروع یادگیری پایتون از دوره‌های مقدماتی آن استفاده کنند. همچنین، چندین دوره آموزشی پروژه‌محور نیز در این مجموعه برای ادامه یادگیری و تقویت مهارت برنامه نویسی پایتون در دسترس قرار دارند. در تصویر فوق تنها برخی از دوره‌های آموزشی پروژه‌محور مجموعه آموزش پایتون ملاحظه می‌شوند.

  • برای دسترسی به همه آموزش های پایتون تم آف + اینجا کلیک کنید.

مثال هایی برای درک بهتر نحوه استفاده از تابع any در پایتون

در ادامه تعدادی مثال برای درک بهتر نحوه عملکرد تابع any در پایتون و چگونگی استفاده از آن ارائه شده است.

list_1 = [0,0,0,1,0,0,0,0]
# any(a list with at least one non-zero entry) returns True
print(any(list_1))
# Output
True

list_2 = [0j,0,0,0.0,0,0,0.0,0]
# any(a list of zeros) returns False
print(any(list_2))
# Output
False

list_3 = [True, False, False]
# any(a list with at least one True value) returns True
print(any(list_3))
# Output
True

list_4 = ["","","code more"]
# any(a list with at least one non-empty string) returns True
print(any(list_4))
# Output
True

list_5 = ["","",""]
# any(a list of empty strings) returns False
print(any(list_5))
# Output
False
آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python
فیلم آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python در تم آف

کلیک کنید

چگونه برای بررسی وجود عدد در رشته از تابع any در پایتون استفاده کنیم؟

حالا در این بخش برای بررسی اینکه آیا «هر» عددی در یک «رشته» (String) وجود دارد یا خیر، از تابع any در پایتون استفاده شده است. در ادامه، گام‌های مورد نیاز شرح داده شده‌اند:

  • چیزی که قرار است بررسی شود: آیا هیچ عددی در رشته وجود دارد یا خیر؟
  • برای دسترسی پیدا کردن به هر یک از کاراکترهای رشته مربوطه باید در طول آن رشته پیمایش کرد.
  • به وسیله فراخوانی متُد isdigit()‎

    باید بررسی شود که آیا هر یک از این کاراکترها رقم (عدد) هستند یا نیستند.

  • اگر کاراکتر مورد آزمون عدد باشد، isdigit()‎

     مقدار True‌

     را بازمی‌گرداند و اگر این کاراکتر هر یک از حروف الفبا باشد، مقدار آن False

    خواهد بود.

«لیست‌های مفهومی» (List Comprehension) می‌توانند در جمع‌آوری تمام این مقادیر منطقی ( True

 و False

 ) بسیار مفید واقع شوند. بنابراین در ادامه مروری سریع بر لیست‌های مفهپمی در پایتون انجام شده است.

مروری بر لیست مفهومی در پایتون

وقتی قصد ایجاد لیست جدید براساس مقادیر یک لیست فعلی وجود داشته باشد، از لیست‌های مفهومی در پایتون استفاده می‌شود. لیست‌ مفهومی یا List Comprehension سینتکس کوتاه‌تری دارد و استفاده از آن آسان‌تر است. مثلاً اگر لیستی از میوه‌ها در پایتون داشته باشیم و بخواهیم لیستی براساس آن ایجاد کنیم که فقط میوه‌های دارای حرف «a» در آن وجود داشته باشند، می‌توان از List Comprehension استفاده کرد. بدون لیست مفهومی، برنامه نویس ناچار است از حلقه for با یک آزمون شرطی (if) در داخل آن استفاده کند:

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)
  • مقاله مرتبط: دستورات شرطی در پایتون — به زبان ساده

با استفاده از List Comprehension اما می‌توان تمام کدهای فوق را به یک خط خلاصه کرد:

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]

print(newlist)

به‌طور کلی سینتکس List Comprehension به صورت زیر است:

newlist = [expression for item in iterable if condition == True]

اکنون آمادگی لازم برای درک کدهای مربوط به برنامه بررسی وجود عدد در رشته با تابع any در پایتون بدست آمده است. بنابراین در بخش بعدی به ارائه مثالی در این خصوص پرداخته می‌شود.

برنامه بررسی وجود عدد در رشته با تابع any در پایتون

همان‌طور که در کدهای زیر آمده، رشته نمونه استفاده شده در این مثال یعنی coding**is**cool**345

 در انتهایش دارای چند عدد است. بنابراین، فراخوانی تابع any در پایتون روی این رشته باید مقدار True

 را بازگرداند. برای بدست آوردن لیستی از مقادیر True

 و False

 بسته به اینکه کاراکتر مربوطه عدد هست یا خیر، از لیست مفهومی استفاده شده است.

my_string = "coding**is**cool**345"
are_there_digits = [char.isdigit() for char in my_string]
print(any(are_there_digits))

# Output
True

در کدهای فوق، are_there_digits

 لیستی است که آیتم‌های آن با تعداد آیتم‌های رشته مربوطه برابرند. متناظر با هر کاراکتر در این رشته، یک ارزش درستی وجود دارد. اگر هر کاراکتر در رشته مربوطه عدد باشد، مقدار True

 بازگردانده می‌شود و اگر هم عدد نباشد، مطابق کدهای زیر مقدار آن False

 خواهد بود:

print(are_there_digits)

# Output
[False, False, False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, True, True, True]
آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python
فیلم آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python در تم آف

کلیک کنید

چگونه برای بررسی وجود حروف در رشته از تابع any در پایتون استفاده کنیم؟

در این بخش نیز مثالی مشابه مثال قبلی ارائه شده است. این بار به جای اعداد، وجود حروف در یک رشته بررسی شده است.

رشته‌ای که در این مثال مورد آزمایش قرار می‌گیرد، رشته‎ ***456278)))‎

 است که هیچ حروف الفبایی در آن وجود ندارد. بنابراین همان‌طور که انتظار می‌رود، با فراخوانی تابع any در پایتون مقدار False

 در خروجی چاپ خواهد شد. برای بررسی اینکه آیا هر یک از کاراکترهای رشته از جنس حروف الفبا هست یا خیر، باید از متُد isalpha()

استفاده کرد:

my_string = "***456278)))"
num = [char.isalpha() for char in my_string]
print(any(num))

# Output
False

همان‌طور که در ادامه آمده، is_letter

 لیستی حاوی مقادیر False است:

print(is_letter)

# Output
[False, False, False, False, False, False, False, False, False, False, False, False]

چگونه برای ترکیب چند شرط به جای OR منطقی از تابع any در پایتون استفاده کنیم؟

مثلاً فردی تصمیم می‌گیرد بهره‌وری بیشتری داشته باشد و فهرستی که در تصویر زیر نشان داده شده را آماده کرده است. اما این فرد تصمیم گرفته به خودش خیلی سخت نگیرد و قصد دارد اگر حتی یکی از موارد فهرست شده در تصویر زیر اتفاق افتادند، به خودش مقدار زیادی شیرینی هدیه بدهد.

مثال دستور any در پایتون

در این مثال لازم است توجه شود چندین شرط وجود دارند که باید در نظر گرفته شوند، اما حتی اگر یکی از آن‌ها برقرار ( True

 ) باشد، اقدام تشویقی مورد نظر انجام خواهد شد.

این مورد بسیار شبیه به گزاره if

 است که در آن باید بررسی شود آیا نتیجه چندین شرط متصل به هم با عملگر or

 منطقی برابر True

  خواهد شد یا نخواهد شد. برای انجام این کار، تابع any در پایتون بسیار مفید و کاربردی است.

فرض می‌شود N

 شرط c1

 ، c2

 ، c3

 تا cN

 وجود دارد. لازم است شبه‌کدهای زیر در نظر گرفته شوند:

if c1 or c2 or ... c_(N-1) or CN:
	# DO THIS

else:
	# DO THIS

حالا می‌توان تمام این شرط‌ها را در یک Iterable، مثلاً یک لیست یا یک تاپل جمع‌آوری و سپس همان‌طور که در ادامه آمده، برای بررسی اینکه آیا یک یا بیش از یک شرط برقرار ( True

 ) است، تابع any در پایتون را برای آن Iterable فراخوانی کرد. استفاده از این روش کار را به میزان زیادی ساده‌تر می‌کند:

conditions = [c1,c2,..., c_N]

if any(conditions):
	# DO THIS
else:
	# DO THIS
آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python
فیلم آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python در تم آف

کلیک کنید

چگونه از تابع all در پایتون استفاده کنیم؟

تابع all هم مشابه تابع any در پایتون است، با این تفاوت که خروجی تابع all در پایتون در صورتی True خواهد بود که ارزش تمام عناصر Iterable ارجاع شده آن برابر با True

 باشد. در واقع تابع all در پایتون به نوعی مشابه عملگر And عمل می‌کند. ابتدا بهتر است سینتکس تابع all در پایتون بررسی شود.

  • مطلب مرتبط: عملگرها در پایتون (Operators) — به زبان ساده

سینتکس تابع all در پایتون

سینتکس تابع all در پایتون به صورت all(iterable)

 است که در آن:

  • اگر bool(x)

     برای تمام مقادیر x

     در iterable برابر با True

     باشد، مقدار تابع all نیز برابر با True

     خواهد بود.

  • اگر iterable خالی باشد، خروجی تابع all

     در پایتون مقدار True

     خواهد بود.

تابع all در پایتون «تکرارشونده‌ای» (Iterable) را به عنوان آرگومان دریافت می‌کند؛ عملکرد این تابع به این صورت است که خروجی آن تنها در صورتی True

 خواهد بود که ارزش تمام اقلام داخل آن تکرارشونده برابر با True

 باشد. در تمام حالت‌هایی به غیر از این، تابع all در پایتون مقدار False

 را به خروجی ارجاع خواهد داد.

چگونه برای بررسی تماماً حروف بودن کاراکترهای رشته از تابع all در پایتون استفاده کنیم؟

بهتر است از همان مثال‌های قبلی که برای تابع any در پایتون استفاده شدند، برای تابع all هم استفاده کرد. در این بخش نیز برخی از خصوصیت‌های موجود در رشته‌ها مورد بررسی قرار گرفته‌اند.

رشته‌ coding**is**cool

 که به عنوان نمونه در این بخش استفاده شده است، علاوه‌بر حروف الفبا، حاوی کاراکتر خاص *

 هم هست. بنابراین، وقتی با استفاده از تابع all در پایتون بررسی می‌شود که آیا تمام کاراکترهای موجود در این رشته حروف الفبا هستند یا خیر، باید مقدار False

 در خروجی دریافت شود:

my_string = "coding**is**cool"
are_all_letters = [char.isalpha() for char in my_string]
print(all(are_all_letters))
# Output
False

print(are_all_letters)
# Output
[True, True, True, True, True, True, False, False, True, True, False, False,
True, True, True, True]

در کدهای فوق ملاحظه می‌شود که چگونه لیست are_all_letters

 در تمام موقعیت‌هایی که کاراکتر *

 وجود دارد، دارای مقادیر False است.

آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python
فیلم آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python در تم آف

کلیک کنید

چگونه برای بررسی تماماً عددی بودن کاراکترهای رشته از تابع all در پایتون استفاده کنیم؟

در این بخش، از تابع all در پایتون برای بررسی این مسئله استفاده شده است که آیا تمام کاراکترهای رشته عددی هستند یا خیر؟ 56456278

 رشته‌ای است که در این مثال به عنوان نمونه استفاده می‌شود. این رشته تنها حاوی اعداد است، بنابراین فراخوانی تابع all در آن باید ارزش True‌

 را به خروجی ارجاع دهد؛ زیرا مقدار تمام اعضا یا درایه‌های لیست مفهومی در این مثال، True

است.

my_string = "56456278"
are_all_digits = [char.isdigit() for char in my_string]
print(all(are_all_digits))
# Output
True

print(are_all_digits)
# Output
[True, True, True, True, True, True, True, True]

چگونه برای ترکیب چند شرط به جای AND منطقی از تابع all در پایتون استفاده کنیم؟

در این بخش مثالی برای ترکیب چند شرط به جای AND منطقی با استفاده از تابع all در پایتون ارائه شده است. این بار، فرض می‌شود فردی در رقابت برای گرفتن یک iPad به عنوان جایزه است. برای برنده شدن این جایزه، فرد باید همه موارد فهرست شده را انجام دهد.

مثال تابع all در پایتون

پیاده‌سازی کدهای این مثال با تابع all در پایتون بسیار مشابه استفاده از گزاره if

برای بررسی این موضوع است که آیا حاصل چندین شرط به وسیله عملگر منطقی and

 برابر با مقدار True

 خواهد بود یا خیر؟ در ادامه، شبه‌کد استفاده از دستور if برای پیاده‌سازی این مسئله آمده است:

if c1 and c2 and ... c_(N-1) and CN:
	# DO THIS

else:
	# DO THIS

برای خلاصه‌تر کردن کدها مي‌توان تابع all در پایتون را به کار برد. برای انجام این کار باید شرط‌ها را در یک Iterable ذخیره و سپس تابع all را فراخوانی کرد و آن Iterable را به تابع all ارجاع داد:

conditions = [c1,c2,..., c_N]

if all(conditions):
	# DO THIS
else:
	# DO THIS
آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python
فیلم آموزش برنامه نویسی پایتون پیشرفته – ترفندهای Python در تم آف

کلیک کنید

جمع‌بندی

امکانات و قابلیت‌های منحصربه‌فردی در زبان پایتون وجود دارند که با استفاده از آن‌ها مي‌توان کدنویسی را تمیزتر و خلاصه‌تر انجام داد. یادگیری ترفندهای پایتون می‌تواند به افزایش مهارت برنامه نویسی پایتون و پیاده‌سازی قابلیت‌های پیچیده‌تر بسیار کمک کند. تابع any در پایتون و تابع all از جمله ترفندهای پایتون به حساب می‌آیند که در این مقاله به آموزش نحوه استفاده از آن‌ها پرداخته شد.

برای استفاده از تابع any در پایتون می‌توان یک Iterable را به عنوان آرگومان به آن ارجاع داد؛ در صورتی که هر یک از عناصر آن Iterable ارزش True

داشته باشد، خروجی تابع any در پایتون هم True خواهد بود. در این مقاله برای تابع Any در پایتون تعدادی مثال ارائه شد تا کاربرد و نحوه استفاده از این تابع بهتر مشخص شود. مثلاً می‌توان از تابع any در پایتون برای بررسی وجود عدد در یک رشته متنی استفاده کرد. همچنین می‌توان تابع any را برای ترکیب کردن چند شرط به جای استفاده از OR منطقی به کار برد.

تابع all هم با فراخوانی شدن روی یک Iterable، بررسی می‌کند که آیا تمام عناصر آن Iterable دارای ارزش True هستند یا خیر و در این صورت، خروجی این تابع True خواهد بود. اگر حتی یکی از عناصر Iterable مربوطه False باشد، خروجی تابع all در پایتون هم False خواهد بود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.