الفرق بين المراجعتين ل"Python/functools"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
سطر 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).

functools.lru_cache()‎

functools.total_ordering()‎

functools.singledispatch()‎

functools.wraps()‎

functools.partialmethod()‎

مصادر