Python 如何安装iInstance(x,模块)?

Python 如何安装iInstance(x,模块)?,python,Python,我需要测试一个变量是否是一个模块。如何以最干净的方式做到这一点 我需要它来初始化一些分派器函数,我希望该函数可以接受dict或module作为参数 >>> import os, types >>> isinstance(os, types.ModuleType) True (它也适用于您自己的Python模块,以及内置模块,如os)我喜欢使用它,这样您就不必导入模块类型: isinstance(amodule, __builtins__.__class__)

我需要测试一个变量是否是一个模块。如何以最干净的方式做到这一点

我需要它来初始化一些分派器函数,我希望该函数可以接受dict或module作为参数

>>> import os, types
>>> isinstance(os, types.ModuleType)
True

(它也适用于您自己的Python模块,以及内置模块,如
os

我喜欢使用它,这样您就不必导入模块类型:

isinstance(amodule, __builtins__.__class__)

另外,您真的需要检查参数的类型吗?如果函数根据它得到的参数类型执行完全不同的操作,那么当然,您必须进行检查,但如果不显式检查类型,则通常更为“Pythonic”。Pythonic方法是检查是否存在方法和变量。如果要检查的内容太多,则首选isinstance。好吧,Python的方法是只使用您需要的内容进行“检查”,如果本应存在的内容不存在,Python将引发错误。我不明白,如果你打算全部使用,怎么会有太多的属性需要“检查”。有些软件希望用户提供自己的功能。依我看,最自然的方法是将它们定义为一个模块并传递它。但是,我想传递一个带有提供函数的简单字典。所以,我需要一个包装器。奇怪的是,这在脚本中对我有效,但在另一个模块中没有更深入的工作。也许它有一些限制?然而,所选择的答案在这两种情况下都有效。还要注意,
\uuuuu内置\uuuuu
是一个实现细节,在Python实现中可能不可靠。