Python type()函数问题,str不可调用

时间:2013-04-25 23:11:55

标签: python string validation typeerror

我正在努力验证某个数据,在这种情况下,strin g'5'应该通过某个验证失败,因为它需要为5(一个int)

print ">>>>", value
bad_type = type(value).__name__
raise TypeError("expected numeric type for {0} but got '{1}'".format(column,bad_type))

打印:

.>>>> five
...
bad_type = type(value).__name__
TypeError: 'str' object is not callable

但是我可以从命令行执行此操作:

python -c "print type('five').__name__"

打印

str

我在这里做错了什么?我想打印传递的值的类型,但我的自定义验证失败。

1 个答案:

答案 0 :(得分:1)

你确定你没有在某处过度骑过type吗?

此外,这不是用于类型检查的Pythonic方式 - 而是使用:

try:
    my_int = int(value)
except (ValueError, TypeError) as e:
    # raise something