Commit 0f6a7323 authored by Raymond Hettinger's avatar Raymond Hettinger

merge

parents 5da37be7 90289281
...@@ -290,19 +290,18 @@ are always available. They are listed here in alphabetical order. ...@@ -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. ...@@ -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. ...@@ -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. ...@@ -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. ...@@ -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])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment