Python Glossary English

Python 3.3+ipaddressпонятие

ipaddress.IPv6Address

адреса

Класс адреса IPv6: хранит 128-битный адрес, печатается в сокращённой форме, полную даёт .exploded.

Синтаксис

ipaddress.IPv6Address(address)

Одна и та же точка записывается многими строками ('2001:0db8:0000::0001' и '2001:db8::1'), поэтому сравнивать адреса строками нельзя — только объектами: str() всегда даёт каноническую сокращённую форму. IPv4-отображённый адрес '::ffff:1.2.3.4' не равен IPv4Address('1.2.3.4'); вытащить IPv4 из него помогает .ipv4_mapped. С IPv4Address через < не сравнивается — TypeError.

Примеры

import ipaddress
a = ipaddress.IPv6Address('2001:0db8:0000::0001')
print(a)  # → 2001:db8::1
print(a.exploded)  # → 2001:0db8:0000:0000:0000:0000:0000:0001
m = ipaddress.IPv6Address('::ffff:1.2.3.4')
print(m == ipaddress.IPv4Address('1.2.3.4'), m.ipv4_mapped)  # → False 1.2.3.4

См. также

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

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