Как isinstance (x, модуль)?

Мне нужно проверить, является ли переменная модулем или нет. Как сделать это самым чистым способом?

Мне нужно это для инициализации некоторой функции диспетчера, и я хочу, чтобы функция могла принимать либо dict, либо модуль в качестве аргумента.

Ответ 1

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

(Он также работает для ваших собственных модулей Python, а также для встроенных, таких как os.)

Ответ 2

Мне нравится использовать это, поэтому вам не нужно импортировать модуль типов:

isinstance(amodule, __builtins__.__class__)