python中的int类型:如何检查类型

python中的int类型:如何检查类型,python,types,typeerror,raiserror,Python,Types,Typeerror,Raiserror,我使用代码: def foo(x): 打印(类型(x)) 如果x不是int: raise(类型错误) #做smth 傅(100) 日志为,但引发了TypeError。为什么?如果类型(x)不是int,则需要使用: def foo(x): print(type(x)) if type(x) is not int: raise(TypeError) 因此,如果我读对了,应该是: def foo(x): 如果类型(x)不是int: raise(类型错误) 傅(100)

我使用代码:

def foo(x): 打印(类型(x)) 如果x不是int: raise(类型错误) #做smth

傅(100)

日志为,但引发了TypeError。为什么?

如果类型(x)不是int,则需要使用:

def foo(x):
    print(type(x))
    if type(x) is not int:
        raise(TypeError)

因此,如果我读对了,应该是:

def foo(x):
如果类型(x)不是int:
raise(类型错误)
傅(100)


我真的不知道你说的日志是什么意思,但这可能会有所帮助。最好使用
isinstance()
而不是
type()=
。前者适用于子类