312 votes

Python : Comment vérifier si une variable est une classe ou pas ?

Je me demandais comment faire pour vérifier si une variable est une classe (pas une instance !) ou non.

J’ai essayé d’utiliser la fonction `` pour le faire, mais je ne sais pas quel type serait une classe aura.

Par exemple, dans le code suivant

J’ai essayé du remplacer par " " avec **?**, mais j’ai réalisé que est un mot clé en python.

N’importe quelle aide ? Merci.

446voto

Benjamin Peterson Points 5277

Encore mieux : utilisez le module de l’inspecter.

58voto

S.Lott Points 207588
>>> class X(object):
...     pass
... 
>>> type(X)
<type 'type'>
>>> isinstance(X,type)
True

49voto

andrea_crotti Points 961

La inspect.isclass est probablement la meilleure solution, et c’est vraiment facile de voir comment elle est effectivement appliquée

37voto

qnub Points 101
<pre><code></code><p><code></code><code></code><code></code>dans le cas contraire.</p></pre>

1voto

JV. Points 1296

classe Foo : est appelé old style classe et classe X(object) : est appelé la nouvelle classe de style.

Vérifier cette http://stackoverflow.com/questions/54867/old-style-and-new-style-classes-in-python . New style est recommandé. Lu sur «unificateur de types et de classes»

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X