Как проверить, является ли переменная словарём в Python?

Как бы вы проверили, является ли переменная словарём в python?

Например, я бы хотел, чтобы он просматривал значения в словаре, пока не найдет словарь. Затем переберите тот, который он находит:

dict = {'abc': 'abc', 'def': {'ghi': 'ghi', 'jkl': 'jkl'}}
for k, v in dict.iteritems():
    if ###check if v is a dictionary:
        for k, v in v.iteritems():
            print(k, ' ', v)
    else:
        print(k, ' ', v)

Ответ 1

Вы можете использовать if type(ele) is dict или использовать isinstance (ele, dict), который будет работать, если у вас есть подклассы dict:

d = {'abc':'abc','def':{'ghi':'ghi','jkl':'jkl'}}
for ele in d.values():
    if isinstance(ele,dict):
       for k, v in ele.items():
           print(k,' ',v)