Nil*_*esh 1 python if-statement exception
我有一个数组,我想验证该数组的第二项。我想到了两种方法
检查array长度
if len(array) > 1:
# Process for array[1]
Run Code Online (Sandbox Code Playgroud)块中捕获IndexError并处理else。
try:
array[1]
except IndexError:
pass
else:
# Process for array[1]
Run Code Online (Sandbox Code Playgroud)哪一个更好?
如果您还有其他选择,我准备学习:)
Python 鼓励EAFP 编码风格:
EAFP
请求原谅比请求许可更容易。这种常见的 Python 编码风格假设存在有效的键或属性,并在假设证明错误时捕获异常。这种干净、快速的风格的特点是存在许多try和except语句。该技术与许多其他语言(例如 C)常见的LBYL风格形成对比。
这意味着try/except完全没问题,但您不必使用该else子句,只需执行以下操作:
try:
# Process for array[1]
except IndexError:
pass
Run Code Online (Sandbox Code Playgroud)