Python中的“使用EAFP原则”是什么意思?你能提供任何例子吗?
从词汇表:
请求宽恕比请求许可更容易。这种常见的 Python 编码风格假设存在有效的键或属性,如果假设被证明是错误的,则捕获异常。这种干净快速的风格的特点是存在许多try和except陈述。该技术与许多其他语言(如 C)常见的LBYL 风格形成鲜明对比。
try
except
一个示例是尝试访问字典键。
EAFP:
try: x = my_dict["key"] except KeyError: # handle missing key
LBYL:
if "key" in my_dict: x = my_dict["key"] else: # handle missing key
LBYL 版本必须在字典中搜索关键字两次,并且可能也被认为可读性稍差。