تقنية

autorange في بايثون: هل تُوقف False من callback البحث؟

زوج النتيجة
تفسير توضيحي [1] [2]

راقب نتيجة البحث. [1] [2]

الخلاصة السريعة

لا؛ False المعادة من note لا توقف البحث. [2]

  • الدالة note تسجل الزوج ثم تعيد False. [2]
  • القيمة المعادة زوج من عدد الحلقات والزمن. [1] [2]
  • آخر زوج في السجل يطابق المعاد. [1] [2]
  • التوقف هنا بحسب الزمن، لا قيمة callback. [2]
  • نفحص 3.12.14 بمؤقت المكتبة؛ دون أزمنة ثابتة. [1] [2]

المثال

الدالة note تسجل الزوج ثم تعيد False. [2]

from timeit import Timer
seen=[]
def note(n, seconds):
    seen.append((n, seconds))
    return False
result=Timer("pass").autorange(note)
print(type(result).__name__, len(result)==2)
print(seen[-1]==result)

[1] [2]

النتيجة

القيمة المعادة زوج من عدد الحلقات والزمن. [1] [2]

آخر زوج في السجل يطابق المعاد. [1] [2]

النتيجة: tuple True ثم True. [1] [2]

آخر تسجيل
تفسير توضيحي [1] [2]

التوقف

التوقف هنا بحسب الزمن، لا قيمة callback. [2]

يستدعي المراقب بعد كل محاولة؛ تبلغ المحاولة الأخيرة 0.2 ثانية على الأقل. [1] [2]

النطاق

نفحص 3.12.14 بمؤقت المكتبة؛ دون أزمنة ثابتة. [1] [2]

نتحدث عن دالة عادية؛ رفع استثناء منها يقطع التنفيذ. [2]

المراجع

  1. Python 3.12: autorange callback
  2. CPython 3.12.14: adaptive trials
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.