как узнать тип переменной python - В чем разница между type()и isinstance()?

python object type / python / oop / inheritance / types

Каковы различия между этими двумя фрагментами кода?

import types

if type(a) is types.DictType:
    do_something()
if type(b) in types.StringTypes:
    do_something_else()
if isinstance(a, dict):
    do_something()
if isinstance(b, str) or isinstance(b, unicode):
    do_something_else()

Arsen Khachaturyan



Answer #1

Таким образом, isinstance() должен быть предпочтительнее type() .