我正在编写一个脚本,在该脚本中,我想验证函数的给定自变量是否本身就是函数。我已经在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] 删除。
我来说两句