فحص iscoroutinefunction لدالتنا المزينة يعطي False، لكن isawaitable لكائنها يعطي True. [1] [2] [3]
الخلاصة السريعة
- فحص iscoroutinefunction لدالتنا المزينة يعطي False، لكن isawaitable لكائنها يعطي True. [1] [2] [3]
- CPython 3.12.14: نزين legacy بـcoroutine؛ F اختصار iscoroutinefunction وA اختصار isawaitable. [1] [2] [3]
- F(legacy) تعطي False؛ A(own) تعطي True. الفحصان يستقبلان الدالة والكائن الناتج على الترتيب. [1] [2] [3]
- تصف types الناتج بأنه coroutine قائمة على مولد؛ المصطلح ليس نتيجة فحص inspect. [1] [2] [3]
- تحكم: plain غير المزينة تعطي False/False؛ native مع async def تعطي True/True. نغلق الكائنات قبل البدء، دون حلقة أحداث أو markcoroutinefunction. [1] [2] [3]
فحصان
فحص iscoroutinefunction لدالتنا المزينة يعطي False، لكن isawaitable لكائنها يعطي True. [1] [2] [3]
التزيين
CPython 3.12.14: نزين legacy بـcoroutine؛ F اختصار iscoroutinefunction وA اختصار isawaitable. [1] [2] [3]
False وTrue
F(legacy) تعطي False؛ A(own) تعطي True. الفحصان يستقبلان الدالة والكائن الناتج على الترتيب. [1] [2] [3]
from types import coroutine from inspect import iscoroutinefunction as F,isawaitable as A @coroutine def legacy(): yield from () return "bud" own=legacy() try:print(F(legacy),A(own)) finally:own.close() [1] [2] [3]

المصطلح والتحكم
تصف types الناتج بأنه coroutine قائمة على مولد؛ المصطلح ليس نتيجة فحص inspect. [1] [2] [3]
def plain(): yield from () return "bud" async def native():return "bud" p=plain();n=native() try: print(F(plain),A(p)) print(F(native),A(n)) finally:p.close();n.close() [1] [2] [3]
تحكم: plain غير المزينة تعطي False/False؛ native مع async def تعطي True/True. نغلق الكائنات قبل البدء، دون حلقة أحداث أو markcoroutinefunction. [1] [2] [3]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
