如何使用相同的 Python 代码块处理异常和特定条件
How to handle exceptions and specific conditions with the same chunk of Python codes
我想知道是否有任何方法可以让 Python 在发生某些事情或出现错误时执行相同的代码块。
例如,我正在编写一个函数,它能够获取给定字符串中冒号后面的字符,如果 a) 没有冒号,我希望它做同样的事情 或 b) 存在一个冒号,但它后面没有字符。假设给定字符串中最多有一个冒号。
def split_colon(string):
try:
ans = string.split(":")[1].strip()
return ans
except IndexError or if ans == "":
return "Hmm, not a word is found"
显然我在上面的代码中得到了 SyntaxError
。我怎样才能通过以下方式实现我的目标 not:
def split_colon(string):
try:
ans = string.split(":")[1].strip()
except IndexError:
return "Hmm, not a word is found"
if ans == "":
return "Hmm, not a word is found"
else:
return ans
,哪个会重复相同的代码?
string.partition(':')[2]
是必经之路。如果不存在冒号或冒号后面没有字符,则生成的字符串将为空。
我想知道是否有任何方法可以让 Python 在发生某些事情或出现错误时执行相同的代码块。
例如,我正在编写一个函数,它能够获取给定字符串中冒号后面的字符,如果 a) 没有冒号,我希望它做同样的事情 或 b) 存在一个冒号,但它后面没有字符。假设给定字符串中最多有一个冒号。
def split_colon(string):
try:
ans = string.split(":")[1].strip()
return ans
except IndexError or if ans == "":
return "Hmm, not a word is found"
显然我在上面的代码中得到了 SyntaxError
。我怎样才能通过以下方式实现我的目标 not:
def split_colon(string):
try:
ans = string.split(":")[1].strip()
except IndexError:
return "Hmm, not a word is found"
if ans == "":
return "Hmm, not a word is found"
else:
return ans
,哪个会重复相同的代码?
string.partition(':')[2]
是必经之路。如果不存在冒号或冒号后面没有字符,则生成的字符串将为空。