Python`type(x)==`什么?

Pyg*_*erd 3 python types class

在代码中,我试图检查输入函数的变量类的类型.我想要的是这样的:

def foo(x):
    if type(x)=='int':
       pass
Run Code Online (Sandbox Code Playgroud)

但我无法找到任何东西,我可以落实到位'int',将返回True当我输入一个整数.我做了一个临时修复type(x)==type(1),但我想知道如何不使用这个偷偷摸摸的技巧.

Mar*_*ers 11

使用intisinstance():

if isinstance(x, int):
Run Code Online (Sandbox Code Playgroud)

可以将自己限制为仅使用以下类型:

if type(x) is int:
Run Code Online (Sandbox Code Playgroud)

但是那不包括的子类int.

但是,问问自己为什么要测试特定类型; 更好的鸭型,并要求宽恕.