This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terry.reedy
Recipients docs@python, eric.araujo, georg.brandl, peterrecore, terry.reedy
Date 2013-04-14.01:34:07
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1365903248.35.0.243754300849.issue9538@psf.upfronthosting.co.za>
In-reply-to
Content
The problem, for me, is that in 3.3 Data Model, 'object' is being used with a 3rd meaning, 'generic class' (or possibly 'subclass of object', if indeed every 'class' must be 'object' subclass, in the strict sense of 'object'). This is in addition to 'object' the specific class and generic Python object (which in CPython is a PyObject structure instance). The normal two meanings are often differentiated by typography: normal type for plain old object, something else for *object*.

To add a bit to the confusion, 3.3.4. Customizing instance and subclass checks changes the prefix to 'class' instead of 'object' (which is what I would do in the whole section...)

class.__instancecheck__(self, instance)
class.__subclasscheck__(self, subclass)

It then goes on to explain that it does not really mean 'generic class' but 'type/metaclass'. So, to me, the prefix here should really be 'metaclass'.

Peter, the patch applied fine to my copy of default. It is incomplete in that the replacement should be made everywhere or nowhere in 3.3, not just in 3.3.2(.0) and 3.3.2.1. However, do not bother making a new patch until there is more agreement on a change than there is now.

A possible alternative to the given proposal is an explanation in the short 3.3 header of the special use of 'object' within the section.
History
Date User Action Args
2013-04-14 01:34:08terry.reedysetrecipients: + terry.reedy, georg.brandl, eric.araujo, docs@python, peterrecore
2013-04-14 01:34:08terry.reedysetmessageid: <1365903248.35.0.243754300849.issue9538@psf.upfronthosting.co.za>
2013-04-14 01:34:08terry.reedylinkissue9538 messages
2013-04-14 01:34:07terry.reedycreate