الفرق بين المراجعتين ل"Python/functools"
< Python
اذهب إلى التنقل
اذهب إلى البحث
سطر 13: | سطر 13: | ||
== <code>[[Python/functools/update_wrapper|functools.update_wrapper()]]</code> == | == <code>[[Python/functools/update_wrapper|functools.update_wrapper()]]</code> == | ||
+ | تُحدّث دالّةً مُحيطةً (wrapper) لتبدوَ مثل الدّالة المُحاطة (wrapped). | ||
+ | |||
== <code>[[Python/functools/lru_cache|functools.lru_cache()]]</code> == | == <code>[[Python/functools/lru_cache|functools.lru_cache()]]</code> == | ||
== <code>[[Python/functools/total_ordering|functools.total_ordering()]]</code> == | == <code>[[Python/functools/total_ordering|functools.total_ordering()]]</code> == |
مراجعة 20:27، 1 يوليو 2018
تُقدّم الوحدة functools
دوال عاليّة الرّتبة (higher-order functions)، وهي دوال تستقبل دوالا أخرى، تُغيّرها، أو تُعيد دوال أخرى. وعلى العموم، يُمكن لأيّ كائن قابل للاستدعاء أن يُعامل مُعاملة الدّالة عند استخدام هذه الوحدة.
تُعرّف الوحدة functools
الدّوال التّاليّة:
functools.cmp_to_key()
تُحوّل دالّةَ مُقارنة (comparison function) إلى دالّة مفتاح (key function).
functools.partial()
تُستعمل لإنشاء دالّة جزئيّة من دالّة بتمرير قيم افتراضيّة ثابتة لها.
functools.reduce()
تُطبّق دالّةً تأخذ مُعاملين بتراكب لعناصر الكائن القابل للتّكرار المُعطى، من اليسار إلى اليمين لتخفيض العناصر إلى قيمة واحدة (كجمع عدّة مبالغ للحصول على مبلغ إجماليّ واحد مثلًا).
functools.update_wrapper()
تُحدّث دالّةً مُحيطةً (wrapper) لتبدوَ مثل الدّالة المُحاطة (wrapped).