Python 3.5+http.clientпонятие
http.HTTPStatus
коды состояния и методы
Перечисление кодов ответа HTTP (IntEnum): HTTPStatus.NOT_FOUND равен 404 и несёт фразу 'Not Found' и описание.
Синтаксис
HTTPStatus.NOT_FOUND · HTTPStatus(404).phrase
Поскольку это IntEnum, член равен числу: HTTPStatus.OK == 200 истинно, и его можно передавать туда, где ждут int, — например, в send_response(). Неизвестный код HTTPStatus(999) поднимает ValueError, так что для кодов «с улицы» нужна проверка. Свойства is_success, is_client_error и подобные появились только в 3.12; на 3.11 проверяют диапазоном 400 <= code < 500.
Примеры
from http import HTTPStatus
s = HTTPStatus(404)
print(repr(s), s.phrase) # → <HTTPStatus.NOT_FOUND: 404> Not Found
print(HTTPStatus.OK == 200, f'{HTTPStatus.CREATED}') # → True 201
try:
HTTPStatus(999)
except ValueError as e:
print(e) # → 999 is not a valid HTTPStatus
# Python 3.12+
from http import HTTPStatus
print(HTTPStatus.NOT_FOUND.is_client_error, HTTPStatus.OK.is_success) # → True True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности