创建一个解析IPv4字符串地址的类,判断一个字符串IP地址是否在一个IPV4地址范围内
时间: 2023-02-06 09:41:26 浏览: 88
判断字符串是否为IP地址
5星 · 资源好评率100%
你可以创建一个名为`IPv4Address`的类,其中包含一个字符串类型的成员变量`address`表示IPv4地址。
下面是一个示例实现:
```python
class IPv4Address:
def __init__(self, address: str):
self.address = address
def is_in_range(self, start_address: str, end_address: str) -> bool:
start = self.to_integer(start_address)
end = self.to_integer(end_address)
current = self.to_integer(self.address)
return start <= current <= end
def to_integer(self, address: str) -> int:
parts = address.split('.')
return (int(parts[0]) << 24) + (int(parts[1]) << 16) + (int(parts[2]) << 8) + int(parts[3])
```
然后你可以使用这个类来判断一个IPv4地址是否在一个范围内,例如:
```python
ip = IPv4Address("192.168.0.1")
print(ip.is_in_range("192.168.0.0", "192.168.0.255")) # 输出 True
print(ip.is_in_range("192.168.0.2", "192.168.0.255")) # 输出 False
```
注意:这里假设所有的IPv4地址都是有效的,并且已经使用点分十进制格式表示。
阅读全文