Déterminer si la variable Python est une instance d'un type

J'ai besoin pour déterminer si une variable Python est une instance de type natif: str, int, float, bool, list, dict et ainsi de suite. Est-il manière élégante de le faire?

Ou est-ce la seule manière:

if myvar in (str, int, float, bool):
    # do something
Qu'entendez-vous par "natif"? Voulez-vous dire builtin? Pourquoi avez-vous besoin de le savoir? Python n'est pas du C++ ou du Java, donc il n'y a pas de distinction entre "simple" ou "de souche". Qu'essayez-vous de faire?
Oui, je suppose que je veux dire "builtin". J'ai besoin d'une telle représentation d'un objet, que je pouvais l'utiliser dans la sérialisation JSON. simplejson des "poignées" seulement ces types. Dans d'autres cas (lorsque les objets sont des instances de la "maison" des classes) j'ai besoin de faire dict objets.
Vous savez que simplejson a quelque chose appelé "l'objet de décodage" et "objet"codage?
Oui, Mais comme je l'ai compris - je devrais écrire un tel décodeur pour chaque type de classe je tiens à sérialiser. Je ne veux pas le faire.
Motsjonov: Veuillez mettre à jour votre question spécifiquement dire que vous êtes intéressé dans les types de simplejson gère par défaut.

OriginalL'auteur Aleksandr Motsjonov | 2009-08-24