خانه / آموزش‌ها / آموزش شرط‌ها در پایتون (If, Elif, Else)

آموزش شرط‌ها در پایتون (If, Elif, Else)

🐍 HomeOfPython
|
📅 1404/10/15

سطح مقدماتی (Beginner Level)

در برنامه‌نویسی، اغلب نیاز داریم که بر اساس وضعیت‌های مختلف، تصمیمات متفاوتی بگیریم. دستورات شرطی به برنامه اجازه می‌دهند که «فکر کند» و مسیر اجرا را تغییر دهد. در پایتون، این کار با استفاده از کلمات کلیدی if، elif و else انجام می‌شود.

۱. ساختار پایه If

ساده‌ترین نوع شرط، استفاده از if است. اگر شرط برقرار باشد (True باشد)، کد داخل بلوک اجرا می‌شود.

نکته مهم: در پایتون بر خلاف زبان‌های دیگر که از {} استفاده می‌کنند، از تورفتگی (Indentation) برای مشخص کردن بلوک کد استفاده می‌شود.

python
# Static Syntax Example
if condition:
    # Code to execute

مثال اول: بررسی سن کاربر

در این مثال، اگر سن کاربر بیشتر از ۱۸ باشد، پیامی چاپ می‌شود.

Python

مثال دوم: شرط منفی

گاهی اوقات می‌خواهیم چک کنیم که آیا چیزی برابر نیست.

Python

۲. استفاده از Else (در غیر این صورت)

اگر بخواهیم وقتی شرط if غلط بود، کار دیگری انجام دهیم، از else استفاده می‌کنیم.

مثال اول: زوج یا فرد بودن

Python

مثال دوم: بررسی موجودی

Python

۳. بررسی چند شرط با Elif

اگر بیش از دو حالت داشته باشیم (مثلاً نمره A، B یا C)، از elif (مخفف else if) استفاده می‌کنیم. پایتون شرط‌ها را به ترتیب چک می‌کند و اولین شرطی که True باشد را اجرا کرده و از بقیه صرف‌نظر می‌کند.

مثال اول: تعیین رده سنی

Python

مثال دوم: جهت‌های جغرافیایی

Python

سطح پیشرفته (Professional Level)

در این بخش به سراغ تکنیک‌های حرفه‌ای‌تری می‌رویم که کدهای پایتون شما را تمیزتر (Pythonic)، سریع‌تر و بهینه‌تر می‌کنند.

۱. عملگر شرطی تک‌خطی (Ternary Operator)

برای شرط‌های ساده‌ای که قرار است یک مقدار را برگردانند یا پر کنند، نیازی به نوشتن ۴ خط کد نیست. می‌توان از ساختار تک‌خطی استفاده کرد.

Syntax: value_if_true if condition else value_if_false

مثال اول: انتساب متغیر

Python

مثال دوم: استفاده درون تابع Print

Python

۲. دستور Match-Case (نسخه ۳.۱۰ و بالاتر)

تا قبل از پایتون ۳.۱۰، چیزی شبیه به switch-case در زبان‌های دیگر نداشتیم. اکنون ساختار قدرتمند match اضافه شده است که بسیار خواناتر از چندین elif پشت سر هم است.

مثال اول: تطبیق ساده

Python

مثال دوم: تطبیق پیشرفته با ساختار داده

دستور Match می‌تواند الگوهای پیچیده (Pattern Matching) را نیز بررسی کند.

Python

۳. مفهوم Truthy و Falsy

در پایتون، شرط‌ها لزوماً نباید True یا False بولی (Boolean) باشند. بسیاری از اشیاء ذاتاً ارزش درستی یا نادرستی دارند. این موضوع به شما کمک می‌کند کدهای بسیار کوتاه‌تری بنویسید.

  • Falsy (نادرست): عدد 0، لیست خالی []، رشته خالی ""، دیکشنری خالی {} و None.
  • Truthy (درست): هر چیزی که خالی یا صفر نباشد.

مثال اول: بررسی لیست خالی (روش حرفه‌ای)

به جای نوشتن if len(my_list) > 0، کافیست نام لیست را بنویسید.

Python

مثال دوم: بررسی وجود مقدار (None Check)

Python

۴. ارزیابی اتصال کوتاه (Short-Circuit Evaluation)

در شرط‌های ترکیبی با and و or، پایتون به محض اینکه نتیجه قطعی شود، ارزیابی را متوقف می‌کند. این نکته برای جلوگیری از خطاهای زمان اجرا (Runtime Errors) حیاتی است.

مثال: جلوگیری از تقسیم بر صفر

اگر شرط اول (b != 0) غلط باشد، پایتون اصلاً شرط دوم را چک نمی‌کند، بنابراین خطای تقسیم بر صفر رخ نمی‌دهد.

Python
python
# Snippet: مثالی که اگر ترتیب برعکس بود خطا می‌داد
# if (a / b) > 2 and b != 0:  -> ZeroDivisionError
#    pass