Name
type
Synopsis
type(obj)Returns the type object that represents the type of
obj (i.e., the most-derived type object of
which obj is an instance). All classic
instance objects have the same type
(InstanceType), even when they are instances of
different classes; use isinstance (covered later
in this chapter) to check whether an instance belongs to a particular
class. In the new-style object model, however,
type(
x
)
is x
.__class__ for
any x.
Checking
type(
x
)
for equality or identity to some other type object is known as
type-checking. Type-checking is rarely appropriate in production
Python code because it interferes with polymorphism. The normal idiom
in Python is to try to use x as if it were
of the type you expect, handling any problems with a
try/except statement, as
discussed in Chapter 6. When you must type-check,
typically for debugging purposes, use isinstance
instead.
isinstance(
x,atype
)
is a somewhat lesser evil than
type(
x
)
is
atype, since at
least it accepts an x that is an instance
of any subclass of atype, not just a
direct instance of atype itself.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access