Forward port doc updates for builtin functions.

This commit is contained in:
Raymond Hettinger 2011-06-01 16:17:23 -07:00
parent affcf2967f
commit 9028928156
1 changed files with 32 additions and 22 deletions

View File

@ -290,19 +290,18 @@ are always available. They are listed here in alphabetical order.
The resulting list is sorted alphabetically. For example: The resulting list is sorted alphabetically. For example:
>>> import struct >>> import struct
>>> dir() # doctest: +SKIP >>> dir() # show the names in the module namespace
['__builtins__', '__doc__', '__name__', 'struct'] ['__builtins__', '__doc__', '__name__', 'struct']
>>> dir(struct) # doctest: +NORMALIZE_WHITESPACE >>> dir(struct) # show the names in the struct module
['Struct', '__builtins__', '__doc__', '__file__', '__name__', ['Struct', '__builtins__', '__doc__', '__file__', '__name__',
'__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into', '__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
'unpack', 'unpack_from'] 'unpack', 'unpack_from']
>>> class Foo: >>> class Shape(object):
... def __dir__(self): def __dir__(self):
... return ["kan", "ga", "roo"] return ['area', 'perimeter', 'location']
... >>> s = Shape()
>>> f = Foo() >>> dir(s)
>>> dir(f) ['area', 'perimeter', 'location']
['ga', 'kan', 'roo']
.. note:: .. note::
@ -333,15 +332,21 @@ are always available. They are listed here in alphabetical order.
:meth:`__next__` method of the iterator returned by :func:`enumerate` returns a :meth:`__next__` method of the iterator returned by :func:`enumerate` returns a
tuple containing a count (from *start* which defaults to 0) and the tuple containing a count (from *start* which defaults to 0) and the
corresponding value obtained from iterating over *iterable*. corresponding value obtained from iterating over *iterable*.
:func:`enumerate` is useful for obtaining an indexed series: ``(0, seq[0])``,
``(1, seq[1])``, ``(2, seq[2])``, .... For example:
>>> for i, season in enumerate(['Spring', 'Summer', 'Fall', 'Winter']): >>> for i, season in enumerate('Spring Summer Fall Winter'.split(), start=1):
... print(i, season) print(i, season)
0 Spring 1 Spring
1 Summer 2 Summer
2 Fall 3 Fall
3 Winter 4 Winter
Equivalent to::
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
.. function:: eval(expression, globals=None, locals=None) .. function:: eval(expression, globals=None, locals=None)
@ -652,10 +657,10 @@ are always available. They are listed here in alphabetical order.
One useful application of the second form of :func:`iter` is to read lines of One useful application of the second form of :func:`iter` is to read lines of
a file until a certain line is reached. The following example reads a file a file until a certain line is reached. The following example reads a file
until ``"STOP"`` is reached: :: until the :meth:`readline` method returns an empty string::
with open("mydata.txt") as fp: with open('mydata.txt') as fp:
for line in iter(fp.readline, "STOP"): for line in iter(fp.readline, ''):
process_line(line) process_line(line)
@ -1169,8 +1174,9 @@ are always available. They are listed here in alphabetical order.
It can be called either on the class (such as ``C.f()``) or on an instance (such It can be called either on the class (such as ``C.f()``) or on an instance (such
as ``C().f()``). The instance is ignored except for its class. as ``C().f()``). The instance is ignored except for its class.
Static methods in Python are similar to those found in Java or C++. For a more Static methods in Python are similar to those found in Java or C++. Also see
advanced concept, see :func:`classmethod` in this section. :func:`classmethod` for a variant that is useful for creating alternate class
constructors.
For more information on static methods, consult the documentation on the For more information on static methods, consult the documentation on the
standard type hierarchy in :ref:`types`. standard type hierarchy in :ref:`types`.
@ -1270,6 +1276,10 @@ are always available. They are listed here in alphabetical order.
references. The zero argument form automatically searches the stack frame references. The zero argument form automatically searches the stack frame
for the class (``__class__``) and the first argument. for the class (``__class__``) and the first argument.
For practical suggestions on how to design cooperative classes using
:func:`super`, see `guide to using super()
<http://rhettinger.wordpress.com/2011/05/26/super-considered-super/>`_.
.. function:: tuple([iterable]) .. function:: tuple([iterable])