تمرین راهاندازی تایپ هینت در VS Code
در واقع، در این صفحه تمرین راهاندازی تایپ هینت در VS Code را از آسان به سخت تمرین میکنید.
| نام دوره | دوره تایپهینت در پایتون |
| درسنامه | فصل دوم: راهاندازی تایپهینت در VS Code |
| پاسخنامه | مشاهده پاسخنامه |
- Pylance را روی حالت
basicتنظیم کنید و کد آزمایشیِ بالا را بنویسید. مطمئن شوید خط قرمز را میبینید. - یک فایل
mypy.iniبسازید و این کد را درpayment.pyبنویسید و mypy را اجرا کنید:
def process_payment(amount: int, user_id: str) -> str:
return f"TRK-{user_id}-{amount}"
process_payment("100000", "user_123")
- حالا حالت Pylance را روی
strictبگذارید. چه خطای تازهای ظاهر میشود؟
راهنمای حل تمرین راهاندازی تایپ هینت در VS Code
اگر در حل تمرین راهاندازی تایپ هینت در VS Code به مشکل خوردید، این چهار قدم را به ترتیب بروید.
- صورت تمرین را دوباره بخوانید و خروجی مورد انتظار را روی کاغذ بنویسید.
- کد را بدون تایپهینت بنویسید تا کار کند، بعد هینتها را اضافه کنید.
mypyرا اجرا کنید و پیام خطا را کامل بخوانید؛ معمولاً خودش راهحل را میگوید.- فقط در آخرین قدم سراغ پاسخنامه بروید.
مرجع رسمی این موضوع مستندات ماژول typing در پایتون است که همهی این ابزارها را با مثال شرح داده است.
چرا تمرین راهاندازی تایپ هینت در VS Code را جدی بگیرید
تفاوت کسی که تایپهینت را میشناسد با کسی که آن را در کد واقعی به کار میبرد، در همین تمرینها روشن میشود. خواندن درسنامه فقط آشنایی میدهد، اما وقتی خودتان کد را مینویسید و تایپچکر به شما ایراد میگیرد، مفهوم در ذهن میماند. به همین دلیل تمرین راهاندازی تایپ هینت در VS Code را در قالب چند سؤال کوتاه و مستقل طراحی کردهایم تا بتوانید هر کدام را جداگانه حل کنید و نتیجه را بلافاصله بسنجید.
برای حل این تمرینها به محیط پیچیدهای نیاز ندارید. یک فایل پایتون خالی، نسخهی ۳.۱۲ یا بالاتر، و mypy نصبشده کافی است. اگر ویرایشگر شما VS Code است، افزونهی Pylance را هم فعال کنید تا خطاها را همان لحظهی نوشتن ببینید و لازم نباشد هر بار به ترمینال برگردید.
خطاهای رایج در این تمرین
- هینت را مینویسند اما هیچوقت
mypyرا اجرا نمیکنند و تصور میکنند کد بررسی شده است. - بهجای رفع ریشهی خطا، سراغ
Anyیاtype: ignoreمیروند. - نوع خروجی تابع را جا میاندازند و تایپچکر بررسی را نیمهکاره رها میکند.
- امضای تابع را عوض میکنند اما جاهایی که آن تابع را صدا میزنند فراموش میکنند.