An object is an instance (or not)?
Ben Finney
ben+python at benfinney.id.au
Tue Jan 27 17:32:09 EST 2015
Mario Figueiredo <marfig at gmail.com> writes:
> People were saying to me that in Python object = instance. I'm trying
> to argue why I believe it isn't and asking for arguments to convince
> me otherwise.
In Python:
* Every value is an object.
* Every object is an instance of some class.
* To say “object” is uproblematic for values in Python, because the
programming term “object” doesn't imply anything about classes.
* To say “instance” implies a specific relationship to some particular
class; in programming terminology (because in English generally) an
instance is so called only because it is an instance of some specific
class.
> By referring to an instance of Sub as "Sub object", there's an
> implicit affirmation that an object is an instance.
Correct. That raises a fourth point:
* In the distant past of Python, some objects were not instances of any
class; the terminology in the documentation and messages shows some
confusing legacies from that ancient time.
The phrasing “'Foo' object” is ambiguous in a way that “'Foo' instance”
would not be. I agree with others that changing the message to refer to
“'Foo' instance” would be an improvement.
--
\ “Pinky, are you pondering what I'm pondering?” “I think so, |
`\ Brain, but I find scratching just makes it worse.” —_Pinky and |
_o__) The Brain_ |
Ben Finney
More information about the Python-list
mailing list