我想知道是否有任何方法可以将下面的操作分组到一个try/except块中。我在这两种情况下使用相同的异常。我试图缩短这段代码,但没想到有什么好处。下面是示例代码:
def cast_values(values):
try:
values['Price'] = float(values['Price'])
except KeyError:
pass
for field in ('Pages', 'Quantity', 'Discount'):
try:
values[field] = int(values[field])
except KeyError:
pass
我希望所有的密钥都被检查,不管会发生多少异常
您可以通过分解键与特定类型的配对来概括代码。在那里,您可以有一个包含单个
try
语句的单个循环,该语句容纳所有键/类型对在这种情况下,我可能会完全去掉
try
语句,只需检查键是否位于values
:如果您真的想要一个try块,您可以尝试像这样重构(这太过分了):
相关问题 更多 >
编程相关推荐