Python Glossary English

Python 3.4+socketпонятие

socket.AddressFamily

константы

Перечисление IntEnum семейств адресов: AF_INET (IPv4), AF_INET6 (IPv6), AF_UNIX и других.

Синтаксис

socket.AddressFamily.AF_INET  # то же, что socket.AF_INET

Начиная с 3.11 print(socket.AF_INET) печатает 2, а не имя: str() у IntEnum стал числом; имя даёт .name, полную запись — repr(). Числовые значения разные в разных ОС (AF_INET6 — 10 в Linux, 30 в macOS, 23 в Windows), поэтому сравнивают с константой, а не с числом. AF_UNIX есть не везде: на старых Windows его нет вовсе.

Примеры

# Python 3.11+
import socket
print(repr(socket.AF_INET))  # → <AddressFamily.AF_INET: 2>
print(socket.AF_INET)  # → 2
print(socket.AF_INET.name)  # → AF_INET
print(isinstance(socket.AF_INET6, socket.AddressFamily))  # → True
print(socket.AF_INET6.value)  # → ? 10 на Linux, 30 на macOS, 23 на Windows

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности