第74天:Python 验证 IPv4 地址 – 字符串解析精通,实现完美 IP 检查(无需库)
发布: (2025年12月24日 GMT+8 22:57)
2 min read
原文: Dev.to
Source: Dev.to
第 74 天要点:IPv4 验证函数
函数设计:拆分并进行基本计数检查
def is_valid_ipv4(ip: str) -> bool:
"""Return True if the given string is a valid IPv4 address."""
parts = ip.split(".") # split address into parts
if len(parts) != 4:
return False # IPv4 must have exactly 4 parts
循环处理:逐段规则校验
for part in parts:
if part == "":
return False # empty segment is invalid
if not part.isdigit():
return False # must contain digits only
if len(part) > 1 and part[0] == "0":
return False # no leading zeros allowed
value = int(part)
if value 255:
return False # each part must be in range 0–255
return True
主交互:输入与布尔值输出
ip = input("Enter an IPv4 address: ").strip()
result = is_valid_ipv4(ip)
print(f"Is valid IPv4: {result}")
总结与思考
此 IPv4 验证器使用 split 和分层规则实现精准检查。
- 提前解析 – 拆分能够快速过滤结构。
- 规则层次 – 依次应用空段、仅数字、前导零和范围检查。
- 无需外部库 – 手动验证加深了对字符串解析和数值约束的理解。
可进一步扩展的方向包括子网验证或 IPv6 支持。
后续步骤与资源
- 挑战 #74 的源代码: scripts/validate_ipv4.py
- 主仓库: 80-days-of-challenges
- 每日更新: Twitter/X (@Shahrouzlogs)