register تعيد الدالة المسجلة دون تغليفها بالموزع؛ نداؤها مباشرة ينفذها دون اختيار النوع. [1] [2]
الخلاصة السريعة
لا؛ النداء المباشر ينفذ الدالة نفسها. [1] [2]
- register تعيد الدالة المسجلة دون تغليفها بالموزع؛ نداؤها مباشرة ينفذها دون اختيار النوع. [1] [2]
- على CPython 3.12.14، route تعيد "base" افتراضيًا؛ route_int المسجلة لـint تعيد "int". [1] [2]
- route_int is route تعطي False؛ الدالة المسجلة ليست دالة الاختيار نفسها. [1] [2]
- route_int("bud") تعيد "int"؛ route("bud") تعيد "base". النص نفسه وصل إلى دالتين مختلفتين. [1] [2]
- تحكم: route(4) تعيد "int". دالتنا المسجلة تعيد ثابتًا دون فحص المدخل؛ لا يعني تسجيل int أنها ترفض النص تلقائيًا. [1] [2]
التسجيل والنداء
register تعيد الدالة المسجلة دون تغليفها بالموزع؛ نداؤها مباشرة ينفذها دون اختيار النوع. [1] [2]
دالتان مؤلفتان
على CPython 3.12.14، route تعيد "base" افتراضيًا؛ route_int المسجلة لـint تعيد "int". [1] [2]
هوية الدالتين
route_int is route تعطي False؛ الدالة المسجلة ليست دالة الاختيار نفسها. [1] [2]
from functools import singledispatch @singledispatch def route(value):return "base" @route.register(int) def route_int(value):return "int" print(route_int is route) [1] [2]

نداء مباشر والتحكم
route_int("bud") تعيد "int"؛ route("bud") تعيد "base". النص نفسه وصل إلى دالتين مختلفتين. [1] [2]
print(route_int("bud"),route("bud"),route(4)) [1] [2]
تحكم: route(4) تعيد "int". دالتنا المسجلة تعيد ثابتًا دون فحص المدخل؛ لا يعني تسجيل int أنها ترفض النص تلقائيًا. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
