Python Glossary English

Python 3.3+ipaddressпонятие

ipaddress.IPv4Network

сети

Класс сети IPv4: адрес сети и маска; умеет перечислять хосты, проверять вхождение адреса и делить сеть на подсети.

Синтаксис

ipaddress.IPv4Network(address, strict=True)

num_addresses считает и адрес сети, и широковещательный, а hosts() их исключает: в /24 адресов 256, хостов 254 — но у /31 и /32 hosts() возвращает все адреса. Вхождение проверяют оператором in: адрес другой версии даёт False, а не ошибку. Конструктор, как и ip_network(), по умолчанию strict=True и отвергает адрес с битами хоста.

Примеры

import ipaddress
net = ipaddress.IPv4Network('192.168.1.0/30')
print(net.num_addresses, net.broadcast_address)  # → 4 192.168.1.3
print([str(h) for h in net.hosts()])  # → ['192.168.1.1', '192.168.1.2']
print(ipaddress.ip_address('192.168.1.2') in net)  # → True
print(list(ipaddress.IPv4Network('10.0.0.0/24').subnets(new_prefix=26))[1])  # → 10.0.0.64/26

См. также

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

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