在python中对数据类型有条件

时间:2019-07-05 13:47:55

标签: python types

很难解释这个问题,但我会尽力而为。 我正在编写一个程序,在其中我通过字符串传输信息(其中可能只是字符串形式的整数的代表)。这些字符串代表整数或字符串。 我的问题是,当我需要找出以上情况中的哪种情况时,我找不到正确的方法来实现。

我尝试过 type ,但是它不起作用,因为类型始终是字符串,并且我不能使用 int ,因为当我尝试使用类型转换时如果该字符串代表字符串,则将出现异常。

# this basically shows my problem type
entry = 'ss'
if type(int(entry)) is int:
    print('this returns an exception')

2 个答案:

答案 0 :(得分:2)

根据定义,

int(entry)返回int或引发异常。您不需要显式的类型检查;您需要一个try语句。

entry = 'ss'

try:
    entry = int(entry)
except ValueError:
    # ...

答案 1 :(得分:-1)

使用pythonic方式

try:
    handle_int(int(entry))
except ValueError:
    handle_string(entry)