Разница между функциями ipnetwork и ipinterface в библиотеке ipaddress заключается в их назначении. 1
ip_network позволяет создать объект, который описывает сеть (IPv4 или IPv6). 2 Этот объект включает все адреса внутри сети и полезен для её идентификации. 1 По умолчанию в классе IPv4Network и IPv6Network часть, соответствующая хосту, должна быть заполнена нулями. 3 Это поведение можно изменить с помощью флага strict=False. 3
ipinterface позволяет создавать объект, который одновременно содержит компонент хоста и компонент сети. 3 Используя методы такого объекта, можно получать адрес, маску или сеть интерфейса. 2 Функция ipinterface особенно полезна при работе с идентификацией узла и интерфейса для подключения к IP-сети, где необходимо указать сеть и подсеть. 1
Таким образом, ipnetwork фокусируется на описании сети в целом, а ipinterface — на описании интерфейса с учётом как адреса хоста, так и принадлежности к сети.