#python #python_3x #async_await
В Python 3.5 добавили ключевые слова async, await (согласно PEP 492 - Coroutines with async and await syntax). Но это не нашло отражения в модуле keyword. Так, код import keyword for kword in keyword.kwlist: print(kword) выдает следующее: False None True and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield То есть это ошибка или async, await не стали ключевыми словами?
Ответы
Ответ 1
Соседний ответ не вполне верен. Это вовсе не ошибка. Они действительно не являются полноценными ключевыми словами до Python 3.7, и об этом прямо сказано в PEP 492: Deprecation Plans async and await names will be softly deprecated in CPython 3.5 and 3.6. In 3.7 we will transform them to proper keywords. Making async and await proper keywords before 3.7 might make it harder for people to port their code to Python 3. Планы по устареванию Идентификаторы async и await будут мягко обозначены устаревшими в CPython 3.5 и 3.6. В 3.7 мы сделаем их полноценными ключевыми словами. Становление async и await полноценными ключевыми словами до 3.7 может обернуться для людей сложностями в портировании кода на Python 3.Ответ 2
Это ошибка но она уже исправлена в комите https://github.com/python/cpython/commit/ac317700ce7439e38a8b420218d9a5035bba92ed
Комментариев нет:
Отправить комментарий