"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحديد أنواع الوظائف في تلميحات نوع بايثون؟

كيفية تحديد أنواع الوظائف في تلميحات نوع بايثون؟

تم النشر بتاريخ 2024-12-22
تصفح:682

How to Specify Function Types in Python Type Hints?

تحديد نوع الوظيفة في تلميحات النوع

في بايثون، تُستخدم تلميحات الكتابة لتوفير بيانات تعريف اختيارية حول الأنواع المتوقعة من المتغيرات ومعلمات الوظيفة . ومع ذلك، فإن تحديد نوع التلميح للمتغير كنوع دالة قد يبدو غير واضح.

الحل

على الرغم من عدم وجود "وظيفة الكتابة" في ذات الصلة 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