Implement isinstance(x, (A, B, ...)). Note that we only allow tuples,

not other sequences (then we'd have to except strings, and we'd still
be susceptible to recursive attacks).
This commit is contained in:
Guido van Rossum 2001-10-07 20:54:12 +00:00
parent 1f733baa04
commit 03290ecbf1
2 changed files with 20 additions and 3 deletions

View file

@ -1641,10 +1641,12 @@ builtin_isinstance(PyObject *self, PyObject *args)
}
static char isinstance_doc[] =
"isinstance(object, class-or-type) -> Boolean\n\
"isinstance(object, class-or-type-or-tuple) -> Boolean\n\
\n\
Return whether an object is an instance of a class or of a subclass thereof.\n\
With a type as second argument, return whether that is the object's type.";
With a type as second argument, return whether that is the object's type.\n\
The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for\n\
isinstance(x, A) or isinstance(x, B) or ... (etc.).";
static PyObject *