پذیرش کلیدهای اضافه با نوع مشخص در TypedDict در Python 3.15

چرا مهم است

اگر تو با dictionaryهایی کار می‌کنی که چند کلید ثابت و تعدادی کلید اضافه دارند، این قابلیت به کارت می‌آید. می‌توانی نوع مقدارهای اضافه را مشخص کنی، بدون اینکه نوع‌های متفاوت کلیدهای ثابت را تغییر بدهی.

قبل از خواندن، این‌ها را بدان۳ مفهوم
TypedDict

ابزاری در typing برای تعریف نوع dictionaryهایی که کلیدهای مشخص دارند و نوع مقدار هر کلید در تعریف آن‌ها تعیین می‌شود.

بیشتر درباره این مفهوم

extra_items

پارامتری در تعریف TypedDict برای مشخص‌کردن نوع مقدارهای مربوط به کلیدهایی که در تعریف اصلی نیامده‌اند.

بیشتر درباره این مفهوم

Type Checking

بررسی سازگاری نوع مقدارها و نحوه استفاده از آن‌ها با نوع‌های تعیین‌شده در برنامه.

بیشتر درباره این مفهوم

Rodrigo Girão Serrão در مطلبی، قابلیت extra_items در TypedDict را در Python 3.15 توضیح می‌دهد. این قابلیت اجازه می‌دهد علاوه بر کلیدهای مشخص‌شده در تعریف TypedDict، کلیدهای دیگری هم وجود داشته باشند و نوع مقدارهای آن‌ها از پیش تعیین شود.

مثال مطلب، نوعی به نام Movie است که با TypedDict از typing تعریف می‌شود. این تعریف دو کلید ثابت دارد: title با مقدار از نوع str و year با مقدار از نوع int. بنابراین یک dictionary شامل نام «Forrest Gump» و سال 1994 با ساختار تعریف‌شده مطابقت دارد.

برای پذیرفتن مقدارهای اضافه، نویسنده تعریف را به شکل class Movie(TypedDict, extra_items=str): تغییر می‌دهد و همان دو کلید title و year را نگه می‌دارد. نکته این است که extra_items=str نوع مقدارهای مربوط به کلیدهای اضافه را مشخص می‌کند؛ نوع year همچنان int باقی می‌ماند.

در نمونه بعدی، dictionary علاوه بر title و year، کلید genre با مقدار «Comedy/Romance» هم دارد. با اینکه genre در تعریف Movie نیامده، این نمونه از نظر type checking پذیرفته می‌شود، چون مقدار کلید اضافه از نوع str است. به این ترتیب، تعریف Movie هم بخش ثابت داده را توصیف می‌کند و هم برای مقدارهای خارج از آن بخش قاعده دارد.

برای جزئیات و نمونه‌های کد، به مطلب اصلی مراجعه کن.

نکته کلیدی

یادت باشد extra_items=str درباره مقدار کلیدهای اضافه است، نه همه مقدارهای dictionary. در مثال Movie، مقدار year همچنان int است؛ فقط مقدار کلیدهای اضافه مثل genre باید str باشد.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۳)