homepage

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.

classification
Title: Remove unneeded '(object)' from 3.x class examples
Type: Stage: resolved
Components: Documentation Versions: Python 3.1, Python 3.2
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: eric.araujo Nosy List: belopolsky, docs@python, eric.araujo, rhettinger, terry.reedy, xuanji
Priority: normal Keywords: easy, patch

Created on 2010年11月08日 19:19 by terry.reedy, last changed 2022年04月11日 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
issue10366_remove_unneeded_object_py3.2.diff xuanji, 2010年11月13日 05:51
Messages (8)
msg120795 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2010年11月08日 19:19
In 3.x, "(object)" is now superfluous in class statements. Reference manual 7.7. Class definitions has simply
 class Foo: pass
In library manual 2. Built-in Functions, class examples for classmethod and staticmethod are the same. Class examples for dir, property, and type still have '(object)' in their class examples. Section 5.11.4. Methods example omits it. I cannot think of anywhere else there should be such examples.
I think we should be consistent and remove the remaining occurrences of '(object)' in the function examples. They can only confuse newcomers.
This part is easy.
I also think the doc for 'class' should say that the default inheritance is from the base class *object* (I presume this should be true in all implementations) and that 
 class Foo(object): pass
is the same as the above (unless the name 'object' has been rebound!).
msg120798 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2010年11月08日 19:51
Other unneeded uses of object, courtesy of grep:
library/sqlite3.rst:713: class Point(object):
library/multiprocessing.rst:1335: class MathsClass(object):
library/functions.rst:281: >>> class Foo(object):
library/functions.rst:897: class C(object):
library/functions.rst:916: class Parrot(object):
library/functions.rst:933: class C(object):
library/functions.rst:1237: >>> class X(object):
library/argparse.rst:1315: >>> class C(object):
library/ctypes.rst:372: >>> class Bottles(object):
library/itertools.rst:326: class groupby(object):
howto/descriptor.rst:156: class RevealAccess(object):
howto/descriptor.rst:173: >>> class MyClass(object):
howto/descriptor.rst:205: class C(object):
howto/descriptor.rst:214: class Property(object):
howto/descriptor.rst:250: class Cell(object):
howto/descriptor.rst:278: class Function(object):
howto/descriptor.rst:286: >>> class D(object):
howto/descriptor.rst:358: >>> class E(object):
howto/descriptor.rst:371: class StaticMethod(object):
howto/descriptor.rst:384: >>> class E(object):
howto/descriptor.rst:419: class ClassMethod(object):
howto/sorting.rst:228: class K(object):
reference/datamodel.rst:1990: >>> class C(object):
includes/sqlite3/adapter_point_2.py:3:class Point(object):
includes/sqlite3/converter_point.py:3:class Point(object):
includes/sqlite3/adapter_point_1.py:3:class Point(object):
includes/mp_newtype.py:15:class Foo(object):
msg121115 - (view) Author: Xuanji Li (xuanji) * Date: 2010年11月13日 05:51
Attached a patch to implement the suggested changes on 3.2. If the patch is ok I can do the same for 3.1.
msg122034 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2010年11月22日 00:11
I will commit the patch this week unless someone opposes to it.
We still need a doc change as described in Terry’s original message.
msg122043 - (view) Author: Xuanji Li (xuanji) * Date: 2010年11月22日 00:26
Hi eric, what doc change are you referring to?
msg122045 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2010年11月22日 00:27
"I also think the doc for 'class' should say that the default inheritance is from the base class *object*"
msg122046 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2010年11月22日 00:33
These mostly look good. Do leave the howto documents as-is. They have some value across multiple versions of Python. Also, the descriptor how-to in particular gets some benefit from keeping (object) explicit because it helps remind users which version of __getattribute__ is being run.
Other than the how-tos, please go ahead and apply.
msg122081 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2010年11月22日 03:20
The patch actually already contained a doc change addressing Terry’s second request, thank you Xuanji Li. I reverted the changes to howto as per Raymond’s comment, made some other slight editions (like removing trailing whitespace) and committed as r86670 and r86672.
History
Date User Action Args
2022年04月11日 14:57:08adminsetgithub: 54575
2010年11月22日 03:20:35eric.araujosetstatus: open -> closed
resolution: accepted -> fixed
messages: + msg122081

stage: patch review -> resolved
2010年11月22日 00:33:09rhettingersetnosy: + rhettinger
messages: + msg122046
2010年11月22日 00:27:03eric.araujosetmessages: + msg122045
2010年11月22日 00:26:13xuanjisetstatus: pending -> open

messages: + msg122043
2010年11月22日 00:11:59eric.araujosetstatus: open -> pending
messages: + msg122034

assignee: docs@python -> eric.araujo
resolution: accepted
stage: needs patch -> patch review
2010年11月13日 05:51:14xuanjisetfiles: + issue10366_remove_unneeded_object_py3.2.diff

nosy: + xuanji
messages: + msg121115

keywords: + patch
2010年11月08日 19:52:51belopolskysetnosy: + belopolsky
2010年11月08日 19:51:36eric.araujosetnosy: + eric.araujo
messages: + msg120798
2010年11月08日 19:19:09terry.reedycreate

AltStyle によって変換されたページ (->オリジナル) /