0

我正在验证某条数据,在这种情况下,字符串“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

我在这里做错了什么?我想打印已通过但未通过自定义验证的值的类型。

4

1 回答 1

1

你确定你没有在type某个地方超载吗?

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

try:
    my_int = int(value)
except (ValueError, TypeError) as e:
    # raise something
于 2013-04-25T23:16:06.363 回答