[Python-checkins] python/nondist/peps pep-0008.txt,1.23,1.24

kbk at users.sourceforge.net kbk at users.sourceforge.net
Mon Mar 29 20:12:25 EST 2004


Update of /cvsroot/python/python/nondist/peps
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5017

Modified Files:
	pep-0008.txt 
Log Message:
Clarifications resulting from further discussion with Barry Warsaw.


Index: pep-0008.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/peps/pep-0008.txt,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** pep-0008.txt	27 Mar 2004 20:37:02 -0000	1.23
--- pep-0008.txt	30 Mar 2004 01:12:22 -0000	1.24
***************
*** 475,494 ****
      Method Names and Instance Variables
  
!       The story is largely the same as for functions; in general use lowercase
!       with words separated by underscores to improve readability.  Do not use
!       a leading underscore for methods accessed by other classes or functions
!       that are part of the implementation of an object type.
  
!       Use one leading underscore for "internal" methods and instance variables
!       when there is no chance of a conflict with subclass or superclass
!       attributes or when a subclass might actually need access to them.
  
!       Use two leading underscores (class-private names, enforced by Python
!       1.4) in those cases where it is important that only the current class
!       accesses an attribute.  Realize that Python contains enough loopholes so
!       that an insistent user could gain access nevertheless, e.g. via the
!       __dict__ attribute.  Generally, double leading underscores should be
!       used only to avoid name conflicts with attributes in classes designed to
!       be subclassed.
  
      Designing for inheritance
--- 475,493 ----
      Method Names and Instance Variables
  
!       The story is largely the same as with functions: in general, use
!       lowercase with words separated by underscores as necessary to improve
!       readability.
  
!       Use one leading underscore only for internal methods and instance
!       variables which are not intended to be part of the class's public
!       interface.  Python does not enforce this; it is up to programmers to
!       respect the convention.
  
!       Use two leading underscores to denote class-private names.  Python
!       "mangles" these names with the class name: if class Foo has an
!       attribute named __a, it cannot be accessed by Foo.__a.  (An insistent
!       user could still gain access by calling Foo._Foo__a.)  Generally,
!       double leading underscores should be used only to avoid name conflicts
!       with attributes in classes designed to be subclassed.
  
      Designing for inheritance




More information about the Python-checkins mailing list