type classobj not defined?

Wesley Brooks wesbrooks at gmail.com
Wed Jan 3 11:57:41 EST 2007


Dear Users,

I'm in the process of adding assert statements to a large piece of
code to aid with bug hunting and came across the following issue;

Using python in a terminal window you can do the following:

>type(False) == bool
True

I would like to check that an object is a class, here's an example:

>class b:
....def __init__(self):
........self.c = 1
....def d(self):
........print self.c

>type(b)
<type 'classobj'>

But the following fails:

>type(b) == classobj
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
NameError: name 'classobj' is not defined

For the time being I'll use b.__name__ == b to ensure I'm getting the
right class. Is there a reason why the other types such as bool are
defined but classobj isn't?

I'm running the following version of python:

Python 2.4.3 (#1, Jun 13 2006, 11:46:08)
[GCC 4.1.1 20060525 (Red Hat 4.1.1-1)] on linux2

Cheers,

Wesley Brooks



More information about the Python-list mailing list