如何对照“功能”类型检查对象的类型

RGS

我正在编写一个脚本,在该脚本中,我想验证函数的给定自变量是否本身就是函数。我已经在IDLE中检查type()了该参数。让我们假设调用了参数a,并且我知道a是一个函数。

当我键入命令type(a)行管理程序时,将显示以下内容:<class 'function'>

但是,如果我尝试键入此命令:type(add) == function它给我一个NameError:未定义名称“ function”(这不是我唯一的尝试,但是如果我将它们全部放在此处,这将变得太长)

我认为我理解这一部分,因为我认为function不是像int那样的关键字float,它使我可以执行类似的条件type(3) == int

但是,知道了这一点,我如何检查某个类型是否来自给定的内置类型,如果该类型没有特定的关键字(或者这些关键字不是那么知名)

提前致谢。

阿比吉特

您可以使用内置isinstance检查变量的类型是否符合函数的类型。不幸的是,创建函数类型没有捷径int可走,就像您可以导入类型并检查类型一样。

>>> import types
>>> isinstance(add, types.FunctionType)
True

您还可以检查中导入isfunction以执行相同的检查

import inspect
inspect.isfunction(add)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章