Add docs for print_function and future_builtins. Fixes #2442.

This commit is contained in:
Georg Brandl 2008-03-21 19:37:57 +00:00
parent 3fbe20c01e
commit d346475a0c
3 changed files with 81 additions and 0 deletions

View File

@ -817,6 +817,33 @@ available. They are listed here in alphabetical order.
accidents.)
.. function:: print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout])
Print *object*\(s) to the stream *file*, separated by *sep* and followed by
*end*. *sep*, *end* and *file*, if present, must be given as keyword
arguments.
All non-keyword arguments are converted to strings like :func:`str` does and
written to the stream, separated by *sep* and followed by *end*. Both *sep*
and *end* must be strings; they can also be ``None``, which means to use the
default values. If no *object* is given, :func:`print` will just write
*end*.
The *file* argument must be an object with a ``write(string)`` method; if it
is not present or ``None``, :data:`sys.stdout` will be used.
.. note::
This function is not normally available as a builtin since the name
``print`` is recognized as the :keyword:`print` statement. To disable the
statement and use the :func:`print` function, use this future statement at
the top of your module::
from __future__ import print_function
.. versionadded:: 2.6
.. function:: property([fget[, fset[, fdel[, doc]]]])
Return a property attribute for :term:`new-style class`\es (classes that

View File

@ -0,0 +1,53 @@
:mod:`future_builtins` --- Python 3 builtins
============================================
.. module:: future_builtins
.. sectionauthor:: Georg Brandl
.. versionadded:: 2.6
This module provides functions that exist in 2.x, but have different behavior in
Python 3, so they cannot be put into the 2.x builtin namespace.
Instead, if you want to write code compatible with Python 3 builtins, import
them from this module, like this::
from future_builtins import map, filter
... code using Python 3-style map and filter ...
The :program:`2to3` tool that ports Python 2 code to Python 3 will recognize
this usage and leave the new builtins alone.
.. note::
The Python 3 :func:`print` function is already in the builtins, but cannot be
accessed from Python 2 code unless you use the appropriate future statement::
from __future__ import print_function
Available builtins are:
.. function:: filter(function, iterable)
Works like :func:`itertools.ifilter`.
.. function:: hex(object)
Works like the builtin :func:`hex`, but instead of :meth:`__hex__` it will
use the :meth:`__index__` method on its argument to get an integer that is
then converted to hexadecimal.
.. function:: map(function, iterable, ...)
Works like :func:`itertools.imap`.
.. function:: oct(object)
Works like the builtin :func:`oct`, but instead of :meth:`__oct__` it will
use the :meth:`__index__` method on its argument to get an integer that is
then converted to hexadecimal.
.. function:: zip(*iterables)
Works like :func:`itertools.izip`.

View File

@ -14,6 +14,7 @@ overview:
sys.rst
__builtin__.rst
future_builtins.rst
__main__.rst
warnings.rst
contextlib.rst