تغليف القيم ليس تنفيذ المقارنة بينها. [1] [2]
الخلاصة السريعة
لا في مثالنا؛ تنفذ المقارنة عند استعمال < بين المفتاحين. [1] [2]
المثال
from functools import cmp_to_key calls=[] def cmp(x,y): calls.append((x,y)) return x-y K=cmp_to_key(cmp) a,b=K(7),K(9) print(len(calls)) print(a < b) print(len(calls))
التغليف والمقارنة
المصدر هنا يحتفظ بالدالة والقيمة عند إنشاء الغلاف. فرع المقارنة يستدعي الدالة بالقيمتين، ثم يقارن ناتجها بالصفر. لذلك نقرأ 0 ثم True ثم 1، ويسجل العداد الزوج (7,9). [1] [2]

النطاق
العداد سجل داخل دالتنا المؤلفة. مقارنة مباشرة أخرى تزيده مجددًا؛ لا نعطي عددًا ثابتًا لاستدعاءات المقارنة أثناء الفرز، ولا نقيس زمن التنفيذ. القيم هنا أعداد صحيحة. [1] [2]
المراجع
- Python 3.12: cmp_to_key
- CPython 3.12.14: native key wrapper
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
