IPv4Address.compressed意为ip地址
当我看到ip地址文档:IPv4Address.compressed意为ip地址
https://docs.python.org/3/library/ipaddress.html#ipaddress.IPv4Address.compressed
当我看到IPv4Address.compressed
,我发现有针对compressed
没有解释。
谁能告诉我这是什么意思?
从source code,只有Return the shorthand version of the IP address as a string.
解释,我没有很好地理解shorthand version of the IP address
。
回答:
compressed
和exploded
是由基类ipaddress._IPAddressBase
定义的属性,所以每个ip地址实例都有它们。对于IPv4存在两者之间没有区别,因为在历史上,没有必要有一个较短的表示:
>>> i4 = ipaddress.IPv4Address("127.0.0.1") >>> i4.exploded
'127.0.0.1'
>>> i4.compressed
'127.0.0.1'
不同的是使用IPv6地址:
>>> i6 = ipaddress.IPv6Address("::1") >>> i6.exploded
'0000:0000:0000:0000:0000:0000:0000:0001'
>>> i6.compressed
'::1'
这里留出组0的是对可用性有很大的帮助。
由于所有地址都具有这两个属性,因此不需要关心地址对象是什么类型。如果只有IPv6Address
对象具有exploded
属性,则在处理混合地址类型时使用它会更麻烦。
回答:
我发现有针对压缩
它实际上documented一起与没有说明爆炸属性:
压缩
爆炸
以点分十进制表示法的字符串表示形式。前导零不会包含在表示中。
由于IPv4没有为八位位组设置为零的地址定义速记符号,所以这两个属性始终与IPv4地址的
str(addr)
相同。公开这些属性使得它更容易编写可处理IPv4和IPv6地址的显示代码 。
属性本身是在IPv4和IPv6两者的基类defined地址如下:
@property def compressed(self):
"""Return the shorthand version of the IP address as a string."""
return str(self)
对于IPv4Address
对象str(self)
将十进制点符号,例如返回一个string"192.168.0.1"
。
以上是 IPv4Address.compressed意为ip地址 的全部内容, 来源链接: utcz.com/qa/261548.html