web-dev-qa-db-fra.com

La détermination du type d'une variable est NoneType dans python

Je voudrais vérifier si une variable est du type NoneType. Pour d'autres types, nous pouvons faire des choses comme:

    type([])==list

Mais pour NoneType cette méthode simple n'est pas possible. Autrement dit, nous ne pouvons pas dire type(None)==NoneType. Existe-t-il une alternative? Et pourquoi est-ce possible pour certains types et pas pour d'autres? Je vous remercie.

11
splinter

NoneType ne se trouve pas automatiquement dans la portée globale. Ce n'est pas vraiment un problème.

>>> NoneType = type(None)
>>> x = None
>>> type(x) == NoneType
True
>>> isinstance(x, NoneType)
True

Dans tous les cas, il serait inhabituel de faire une vérification de type. Vous devriez plutôt tester x is None.

16
Alex Hall

Bien sûr, vous pouvez le faire.

type(None)==None.__class__

True
8