【发布时间】:2020-08-04 19:38:45
【问题描述】:
我使用代码:
def foo(x): 打印(类型(x)) 如果 x 不是整数: 提高(类型错误) #做smth
富(100)
日志为 ,但引发了 TypeError。为什么?
【问题讨论】:
标签: python types typeerror raiserror
我使用代码:
def foo(x): 打印(类型(x)) 如果 x 不是整数: 提高(类型错误) #做smth
富(100)
日志为 ,但引发了 TypeError。为什么?
【问题讨论】:
标签: python types typeerror raiserror
如果 type(x) 不是 int,则需要使用:
def foo(x):
print(type(x))
if type(x) is not int:
raise(TypeError)
【讨论】:
所以如果我没看错的话应该是:
def foo(x):
if type(x) is not int:
raise(TypeError)
foo(100)
我真的不确定你对日志的意思,但也许这会有所帮助
【讨论】:
最好使用isinstance() 而不是type() ==。前者适用于子类。
【讨论】: