处理可能引发错误的条件语句的最具Python风格的方法是什么?
处理可能引发错误的条件语句的最具Python风格的方法是什么?例如:处理可能引发错误的条件语句的最具Python风格的方法是什么?,python,Python,处理可能引发错误的条件语句的最具Python风格的方法是什么?例如: if string[0] = "#": 如果给定长度为0的字符串,上述语句将生成索引器 我想象的事情是这样的: if try testFunction() (except: pass): ……但我知道那是行不通的。那我该怎么办 注意:这个问题有很多解决方案。例如,我可以将if语句放在第二个if语句中。。。但这并不优雅。我特别在寻找最具Python风格的解决方案。您必须将整个if语句放入try.。除了块: try:
if string[0] = "#":
如果给定长度为0的字符串,上述语句将生成索引器
我想象的事情是这样的:
if try testFunction() (except: pass):
……但我知道那是行不通的。那我该怎么办
注意:这个问题有很多解决方案。例如,我可以将if语句放在第二个if语句中。。。但这并不优雅。我特别在寻找最具Python风格的解决方案。您必须将整个if
语句放入try.。除了块:
try:
if string[0] == "#":
# block executed when true
except IndexError:
# ..
但是,有更好的替代方案:
- 首先提取该字符:
try:
first = string[0]
except IndexError:
pass
else:
if first == '#':
# ...
- 首先测试字符串长度:
if string and string[0] == '#':
- 使用切片:
if string[:1] == '#':
如果string
开始时为空,则切片结果为空字符串
- 使用字符串方法:
if string.startswith('#'):
如果字符串[0]=“#”:
实际上,它将导致语法错误。这取决于您希望如何处理异常。