@@ -307,49 +307,6 @@ Object Protocol
307307 class, are considered classes. However, objects can override this by having
308308 a :attr: `~class.__bases__ ` attribute (which must be a tuple of base classes).
309309
310- Another function, :attr:`__base__` that is specific to CPython and also
311- exists in Jython and PyPy can also be used on a class inheriting from one
312- or more classes. When such a class takes arguments in the correct order,
313- then starting leftmost.
314-
315- Let's look at the example cases;
316-
317- >>> class A (object ): pass
318- ...
319- >>> class B (A ): pass
320- ...
321- >>> class C (int ): pass
322- ...
323-
324- The first user-defined class that either inherits from the instance
325- of a built-in type other than object or inherits from another user
326- defined class (single or multiple inheritance) that does so or in the
327- absence of the above class.
328-
329- >>> class D(B, A, C): pass
330- ...
331- >>> D.__base__
332- <class 'C'>
333- >>>
334-
335- A built-in type that is not an object or in the absence of the above class.
336-
337- >>> class D(B, A, int): pass
338- ...
339- >>> D.__base__
340- <class 'int'>
341-
342- The first user defined class that inherits either an object or
343- derives from a class (directly or indirectly) that inherits an
344- object is the value returned by the :attr:`__base__` function.
345-
346- >>> class D(B, A): pass
347- ...
348- >>> D.__base__
349- <class 'B'>
350-
351- .. impl-detail::
352- Note that behavior of the ``__base__`` attribute is dependent on the :term:`CPython` implementation.
353310
354311.. c:function:: int PyObject_IsInstance(PyObject *inst, PyObject *cls)
355312
0 commit comments