مدل، لایه ای از کد است که منطق بیزینس برنامه را پیش می برد. در این مورد منطق بیزینس، تمام محاسبات ریاضی می باشد. لایه ی مدل شما عبارات ریاضی از طرف کاربران را ارزیابی خواهد کرد. از این رو که مدل رسیدگی به خطاها را نیز عهده دار است، ثابت زیر را تعریف خواهید کرد:
ERROR_MSG = 'ERROR'
این همان پیغامیست که کاربر موقع وارد کردن عبارت ریاضی نامعتبر خواهد دید.
لایه ی مدل، یک تابع مفرد خواهد بود:
# Create a Model to handle the calculator's operation
def evaluateExpression(expression):
"""Evaluate an expression."""
try:
result = str(eval(expression, {}, {}))
except Exception:
result = ERROR_MSG
return result
در اینجا برای ارزیابی یک رشته به عنوان عبارت ریاضی، از ()eval استفاده می کنید و در صورت موفقیت آمیز بودن محاسبات، نتیجه را باز خواهید گرداند. در غیر اینصورت پیغام خطا بازگردانده می شود. توجه داشته باشید که تابع کامل نیست و یک جفت مسئله مهم دارد:
try...except
هیچ استثناء (انواع خطاهایی که از زمان ساخت تا اجرا و نگهداری برنامه ممکن است رخ بدهند) خاصی را نمی گیرد که عمل شایسته ای در برنامه نویسی پایتون نیست.در هر صورت می توانید روی این تابع کار کنید و امنیت و قابلیت نگهداری آن را ارتقا دهید. در این دوه از تابع چنان که هست استفاده خواهیم کرد.
منبع: سایت Real Python
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.