تحديد نوع الوظيفة في تلميحات النوع
في بايثون، تُستخدم تلميحات الكتابة لتوفير بيانات تعريف اختيارية حول الأنواع المتوقعة من المتغيرات ومعلمات الوظيفة . ومع ذلك، فإن تحديد نوع التلميح للمتغير كنوع دالة قد يبدو غير واضح.الحلعلى الرغم من عدم وجود "وظيفة الكتابة" في ذات الصلة PEP 483، يمكنك تحديد نوع التلميح للمتغير كنوع دالة باستخدام "typing.Callable."
التنفيذ
بناء جملة تحديد نوع الوظيفة باستخدام "typing.Callable" هو كما يلي:
من الكتابة استيراد قابل للاستدعاء def my_function(func: Callable):from typing import Callable def my_function(func: Callable):القابل للاستدعاء من تلقاء نفسه يعادل "Callable[..., Any]،" مما يعني أنه يأخذ أي عدد ونوع من الوسائط وإرجاع قيمة من أي نوع. إذا كان هذا غير مقيد للغاية، فيمكنك أيضًا تحديد أنواع قائمة وسيطات الإدخال ونوع الإرجاع.
على سبيل المثال، بالنسبة للدالة التي تأخذ عددين صحيحين وترجع عددًا صحيحًا:
def sum (a: int, b: int) -> int: يُرجع a bالتعليق التوضيحي للنوع المقابل سيكون:def sum(a: int, b: int) -> int: return a bقابل للاستدعاء[[int, int], int]
Callable[[int, int], int]
الصيغة العامة لتحديد نوع الوظيفة باستخدام "typing.Callable" هي:
Callable[[ ParamType1، ParamType2، ...، ParamTypeN]، ReturnTypeتنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3