很难解释这个问题,但我会尽力而为。 我正在编写一个程序,在其中我通过字符串传输信息(其中可能只是字符串形式的整数的代表)。这些字符串代表整数或字符串。 我的问题是,当我需要找出以上情况中的哪种情况时,我找不到正确的方法来实现。
我尝试过 type ,但是它不起作用,因为类型始终是字符串,并且我不能使用 int ,因为当我尝试使用类型转换时如果该字符串代表字符串,则将出现异常。
# this basically shows my problem type
entry = 'ss'
if type(int(entry)) is int:
print('this returns an exception')
答案 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)