Python:检查变量的类型

Som*_*One 1 python isinstance

我有一个关于python的问题.

我有变量a,b,cd.

我有以下几行:

if    not isinstance(a, int)   or not isinstance(b, int)  \
   or not isinstance(c, int)   or not isinstance(d, int)  \
   or not isinstance(a, float) or not isinstance(b, float)\
   or not isinstance(c, float) or not isinstance(d, float):
    do something
Run Code Online (Sandbox Code Playgroud)

是否可以缩短此代码?

谢谢!

Ale*_*kov 5

你应该使用all:

if not all(isinstance(var, (int, float)) for var in [a, b, c, d]):
    # do stuff
Run Code Online (Sandbox Code Playgroud)

请注意,您可以同时intisinstance呼叫提供"浮动" .