May 2001
Intermediate to advanced
304 pages
6h 12m
English
The types module contains type objects for all object types defined by the
standard interpreter, as Example 1-86 demonstrates. All objects of the same type share a single
type object. You can use is to test if an object
has a given type.
Example 1-86. Using the types Module
File: types-example-1.py
import types
def check(object):
print object,
if type(object) is types.IntType:
print "INTEGER",
if type(object) is types.FloatType:
print "FLOAT",
if type(object) is types.StringType:
print "STRING",
if type(object) is types.ClassType:
print "CLASS",
if type(object) is types.InstanceType:
print "INSTANCE",
print
check(0)
check(0.0)
check("0")
class A:
pass
class B:
pass
check(A)
check(B)
a = A()
b = B()
check(a)
check(b)
0 INTEGER
0.0 FLOAT
0 STRING
A CLASS
B CLASS
<A instance at 796960> INSTANCE
<B instance at 796990> INSTANCENote that all classes have the same type, as do all instances. To
test what class hierarchy a class or an instance belongs to, use the
built-in issubclass and
isinstance functions.
The types module destroys the current exception
state when it is first imported. In other words, don’t import it (or
any module that imports it!) from within an
exception handler.
Read now
Unlock full access