Python Glossary English

Python 3.3+ipaddressпонятие

ipaddress.IPv4Interface

интерфейсы

Адрес IPv4 вместе с сетью, к которой он принадлежит: '10.1.2.3/8' целиком, без обнуления битов хоста.

Синтаксис

ipaddress.IPv4Interface(address)

Это подкласс IPv4Address: isinstance(iface, IPv4Address) истинно, и интерфейс можно передавать туда, где ждут адрес. Но сравнение учитывает маску, поэтому IPv4Interface('1.2.3.4/24') == IPv4Address('1.2.3.4') ложно — сравнивайте iface.ip. Сеть берут из .network, запись с префиксом — из .with_prefixlen.

Примеры

import ipaddress
iface = ipaddress.IPv4Interface('10.1.2.3/8')
print(iface.ip, iface.network, iface.netmask)  # → 10.1.2.3 10.0.0.0/8 255.0.0.0
print(isinstance(iface, ipaddress.IPv4Address))  # → True
print(iface == ipaddress.IPv4Address('10.1.2.3'), iface.ip == ipaddress.IPv4Address('10.1.2.3'))  # → False True

См. также

Частые ошибки

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