“请求宽恕而不是许可”背后的哲学
“请求宽恕而不是许可”这句话经常在编码中用来描述编程优先执行操作而不是事先检查权限的风格。
在 Pythonic 代码中,这一原则表明,与其使用条件语句来验证属性的存在性或操作的有效性,不如尝试操作并处理任何由此产生的异常,这样会更有效。
示例场景和“请求宽恕” " 方法
考虑一个带有可选属性栏的类。在传统编程中,人们可能会在使用属性之前检查该属性是否存在:
if foo.bar: # Do stuff
但是,“请求宽恕”方法建议:
try: foo.bar # Attempt to access the attribute # Do stuff except AttributeError: # Handle the error if the attribute doesn't exist
“请求宽恕”的参数宽恕》
可选属性的例外
对于可选属性,可接受的 Pythonic 方法是将属性初始化为 None 并显式检查其存在:
if foo.bar is not None: # Handle the optional part else: # Default handling
这确保代码清晰并且意图处理可选属性是明确的。
以上是你应该在 Python 代码中'请求宽恕,而不是许可”吗?的详细内容。更多信息请关注PHP中文网其他相关文章!