رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مفهوم متوسط ۸ دقیقه

ساده‌سازی شرط‌ها و فراخوانی‌ها

نگهبان‌ها، شرطِ نام‌دار، حذف پرچم کنترلی و ساده‌سازی امضای تابع.

# قبل: هرم
def admit(student):
    if student is not None:
        if student.gpa >= 17:
            if not student.suspended:
                return True
    return False

# بعد: نگهبان + شرط نام‌دار
def is_eligible(s):
    return s is not None and s.gpa >= 17 and not s.suspended

def admit(student):
    if not is_eligible(student):
        return False
    return True

سه حرکتِ ۹۰٪ مواقع کافی است: (۱) شرطِ منفیِ خروجِ زودهنگام (نگهبان)، (۲) استخراج عبارتِ شرطی به تابعِ نام‌دار (is_eligible)، (۳) حذف پارامترِ پرچمی (send(email, verbose=True) → دو تابع یا سطحِ لاگ). امضای تابع، رابطِ توست؛ هر پارامترِ اضافه، مالیاتِ همیشگیِ همهٔ فراخوان‌هاست.

پیش‌نیازها

مطالب مرتبط

از همین بخش و با برچسب‌های مشترک

این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

وضعیت پیشرفت برای ساده‌سازی شرط‌ها و فراخوانی‌ها