我有一个包含字符串(从XML提要中提取)的变量。字符串值可以是整数,日期或字符串类型。我需要将它从字符串转换为给定的数据类型。我这样做,但它有点难看,所以我问是否有更好的技术。如果我想检查更多类型,我会以非常嵌套的尝试结束 - 除了块。字符串检查多种类型
def normalize_availability(self, value):
"""
Normalize the availability date.
"""
try:
val = int(value)
except ValueError:
try:
val = datetime.datetime.strptime(value, '%Y-%m-%d')
except (ValueError, TypeError):
# Here could be another try - except block if more types needed
val = value
谢谢!
又该这个函数返回?它只是检查它是一个int,日期或str,并返回True/False? – Nitzle
返回值并不重要,重点在于是否有更好的解决方案将字符串转换为除嵌套尝试之外的特定数据类型 - 多次除外。如果我要检查4个数据类型,我将有3个级别的try-except块。 – Bruce