pytho****@googl*****
pytho****@googl*****
2011年 11月 21日 (月) 00:53:27 JST
3 new revisions: Revision: 5626d6dfe30d Author: Naoki INADA <inada****@klab*****> Date: Sun Nov 20 03:58:13 2011 Log: 2.7.2 Update: howto/ 以下の整理. http://code.google.com/p/python-doc-ja/source/detail?r=5626d6dfe30d Revision: 227b615403c6 Author: Naoki INADA <inada****@klab*****> Date: Sun Nov 20 07:52:43 2011 Log: Update 2.7.2: library/configparser http://code.google.com/p/python-doc-ja/source/detail?r=227b615403c6 Revision: 9c0246f8d08c Author: Naoki INADA <inada****@klab*****> Date: Sun Nov 20 07:52:55 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=9c0246f8d08c ============================================================================== Revision: 5626d6dfe30d Author: Naoki INADA <inada****@klab*****> Date: Sun Nov 20 03:58:13 2011 Log: 2.7.2 Update: howto/ 以下の整理. http://code.google.com/p/python-doc-ja/source/detail?r=5626d6dfe30d Deleted: /howto/advocacy.rst.diff /howto/advocacy.rst.diff.html /howto/cporting.rst.diff /howto/cporting.rst.diff.html /howto/descriptor.rst.diff /howto/descriptor.rst.diff.html /howto/functional.rst.diff /howto/functional.rst.diff.html /howto/index.rst.diff /howto/index.rst.diff.html /howto/sorting.rst.diff /howto/sorting.rst.diff.html /howto/webservers.rst.diff /howto/webservers.rst.diff.html Modified: /howto/cporting.rst /howto/descriptor.rst /howto/functional.rst /howto/sorting.rst ======================================= --- /howto/advocacy.rst.diff Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,27 +0,0 @@ -@@ -299,25 +299,25 @@ - ================ - - http://www.pythonology.com/success - The Python Success Stories are a collection of stories from successful users of - Python, with the emphasis on business and corporate users. - - .. http://www.fsbassociates.com/books/pythonchpt1.htm - The first chapter of \emph{Internet Programming with Python} also - examines some of the reasons for using Python. The book is well worth - buying, but the publishers have made the first chapter available on - the Web. - --http://home.pacbell.net/ouster/scripting.html -+http://www.tcl.tk/doc/scripting.html - John Ousterhout's white paper on scripting is a good argument for the utility of - scripting languages, though naturally enough, he emphasizes Tcl, the language he - developed. Most of the arguments would apply to any scripting language. - - http://www.python.org/workshops/1997-10/proceedings/beazley.html - The authors, David M. Beazley and Peter S. Lomdahl, describe their use of - Python at Los Alamos National Laboratory. It's another good example of how - Python can help get real work done. This quotation from the paper has been - echoed by many people: - - .. epigraph:: - ======================================= --- /howto/advocacy.rst.diff.html Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,101 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>howto/advocacy.rst</title> -<style type="text/css"> -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #808080 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0040D0 } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ -</style> -</head> -<body> -<div class="highlight"><pre><span class="gu">@@ -299,25 +299,25 @@</span> - ================ - - http://www.pythonology.com/success - The Python Success Stories are a collection of stories from successful users of - Python, with the emphasis on business and corporate users. - - .. http://www.fsbassociates.com/books/pythonchpt1.htm - The first chapter of \emph{Internet Programming with Python} also - examines some of the reasons for using Python. The book is well worth - buying, but the publishers have made the first chapter available on - the Web. - -<span class="gd">-http://home.pacbell.net/ouster/scripting.html</span> -<span class="gi">+http://www.tcl.tk/doc/scripting.html</span> - John Ousterhout's white paper on scripting is a good argument for the utility of - scripting languages, though naturally enough, he emphasizes Tcl, the language he - developed. Most of the arguments would apply to any scripting language. - - http://www.python.org/workshops/1997-10/proceedings/beazley.html - The authors, David M. Beazley and Peter S. Lomdahl, describe their use of - Python at Los Alamos National Laboratory. It's another good example of how - Python can help get real work done. This quotation from the paper has been - echoed by many people: - - .. epigraph:: - -</pre></div> - -</body> -</html> ======================================= --- /howto/cporting.rst.diff Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,31 +0,0 @@ -@@ -39,27 +39,27 @@ - - str/unicode Unification - ----------------------- - - - Python 3.0's :func:`str` (``PyString_*`` functions in C) type is equivalent to - 2.x's :func:`unicode` (``PyUnicode_*``). The old 8-bit string type has become - :func:`bytes`. Python 2.6 and later provide a compatibility header, - :file:`bytesobject.h`, mapping ``PyBytes`` names to ``PyString`` ones. For best - compatibility with 3.0, :ctype:`PyUnicode` should be used for textual data and - :ctype:`PyBytes` for binary data. It's also important to remember that - :ctype:`PyBytes` and :ctype:`PyUnicode` in 3.0 are not interchangeable like --:ctype:`PyString` and :ctype:`PyString` are in 2.x. The following example shows --best practices with regards to :ctype:`PyUnicode`, :ctype:`PyString`, and --:ctype:`PyBytes`. :: -+:ctype:`PyString` and :ctype:`PyUnicode` are in 2.x. The following example -+shows best practices with regards to :ctype:`PyUnicode`, :ctype:`PyString`, -+and :ctype:`PyBytes`. :: - - #include "stdlib.h" - #include "Python.h" - #include "bytesobject.h" - - /* text example */ - static PyObject * - say_hello(PyObject *self, PyObject *args) { - PyObject *name, *result; - - if (!PyArg_ParseTuple(args, "U:say_hello", &name)) - return NULL; ======================================= --- /howto/cporting.rst.diff.html Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,105 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>howto/cporting.rst</title> -<style type="text/css"> -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #808080 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0040D0 } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ -</style> -</head> -<body> -<div class="highlight"><pre><span class="gu">@@ -39,27 +39,27 @@</span> - - str/unicode Unification - ----------------------- - - - Python 3.0's :func:`str` (``PyString_*`` functions in C) type is equivalent to - 2.x's :func:`unicode` (``PyUnicode_*``). The old 8-bit string type has become - :func:`bytes`. Python 2.6 and later provide a compatibility header, - :file:`bytesobject.h`, mapping ``PyBytes`` names to ``PyString`` ones. For best - compatibility with 3.0, :ctype:`PyUnicode` should be used for textual data and - :ctype:`PyBytes` for binary data. It's also important to remember that - :ctype:`PyBytes` and :ctype:`PyUnicode` in 3.0 are not interchangeable like -<span class="gd">-:ctype:`PyString` and :ctype:`PyString` are in 2.x. The following example shows</span> -<span class="gd">-best practices with regards to :ctype:`PyUnicode`, :ctype:`PyString`, and</span> -<span class="gd">-:ctype:`PyBytes`. ::</span> -<span class="gi">+:ctype:`PyString` and :ctype:`PyUnicode` are in 2.x. The following example</span> -<span class="gi">+shows best practices with regards to :ctype:`PyUnicode`, :ctype:`PyString`,</span> -<span class="gi">+and :ctype:`PyBytes`. ::</span> - - #include "stdlib.h" - #include "Python.h" - #include "bytesobject.h" - - /* text example */ - static PyObject * - say_hello(PyObject *self, PyObject *args) { - PyObject *name, *result; - - if (!PyArg_ParseTuple(args, "U:say_hello", &name)) - return NULL; -</pre></div> - -</body> -</html> ======================================= --- /howto/descriptor.rst.diff Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,27 +0,0 @@ -@@ -287,25 +287,25 @@ - def f(self, x): - return x - - >>> d = D() - >>> D.__dict__['f'] # Stored internally as a function - <function f at 0x00C45070> - >>> D.f # Get from a class becomes an unbound method - <unbound method D.f> - >>> d.f # Get from an instance becomes a bound method - <bound method D.f of <__main__.D object at 0x00B18C90>> - - The output suggests that bound and unbound methods are two different types. --While they could have been implemented that way, the actual C implemention of -+While they could have been implemented that way, the actual C implementation of - :ctype:`PyMethod_Type` in - `Objects/classobject.c <http://svn.python.org/view/python/trunk/Objects/classobject.c?view=markup>`_ - is a single object with two different representations depending on whether the - :attr:`im_self` field is set or is *NULL* (the C equivalent of *None*). - - Likewise, the effects of calling a method object depend on the :attr:`im_self` - field. If set (meaning bound), the original function (stored in the - :attr:`im_func` field) is called as expected with the first argument set to the - instance. If unbound, all of the arguments are passed unchanged to the original - function. The actual C implementation of :func:`instancemethod_call()` is only - slightly more complex in that it includes some type checking. - ======================================= --- /howto/descriptor.rst.diff.html Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,101 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>howto/descriptor.rst</title> -<style type="text/css"> -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #808080 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0040D0 } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ -</style> -</head> -<body> -<div class="highlight"><pre><span class="gu">@@ -287,25 +287,25 @@</span> - def f(self, x): - return x - - >>> d = D() - >>> D.__dict__['f'] # Stored internally as a function - <function f at 0x00C45070> - >>> D.f # Get from a class becomes an unbound method - <unbound method D.f> - >>> d.f # Get from an instance becomes a bound method - <bound method D.f of <__main__.D object at 0x00B18C90>> - - The output suggests that bound and unbound methods are two different types. -<span class="gd">-While they could have been implemented that way, the actual C implemention of</span> -<span class="gi">+While they could have been implemented that way, the actual C implementation of</span> - :ctype:`PyMethod_Type` in - `Objects/classobject.c <http://svn.python.org/view/python/trunk/Objects/classobject.c?view=markup>`_ - is a single object with two different representations depending on whether the - :attr:`im_self` field is set or is *NULL* (the C equivalent of *None*). - - Likewise, the effects of calling a method object depend on the :attr:`im_self` - field. If set (meaning bound), the original function (stored in the - :attr:`im_func` field) is called as expected with the first argument set to the - instance. If unbound, all of the arguments are passed unchanged to the original - function. The actual C implementation of :func:`instancemethod_call()` is only - slightly more complex in that it includes some type checking. - -</pre></div> - -</body> -</html> ======================================= --- /howto/functional.rst.diff Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,23 +0,0 @@ -@@ -1,22 +1,19 @@ - ******************************** - Functional Programming HOWTO - ******************************** - - :Author: A. M. Kuchling - :Release: 0.31 - --(This is a first draft. Please send comments/error reports/suggestions to --amk****@amk*****.) -- - In this document, we'll take a tour of Python's features suitable for - implementing programs in a functional style. After an introduction to the - concepts of functional programming, we'll look at language features such as - :term:`iterator`\s and :term:`generator`\s and relevant library modules such as - :mod:`itertools` and :mod:`functools`. - - - Introduction - ============ - - This section explains the basic concept of functional programming; if you're - just interested in learning about Python language features, skip to the next ======================================= --- /howto/functional.rst.diff.html Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,97 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>howto/functional.rst</title> -<style type="text/css"> -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #808080 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0040D0 } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ -</style> -</head> -<body> -<div class="highlight"><pre><span class="gu">@@ -1,22 +1,19 @@</span> - ******************************** - Functional Programming HOWTO - ******************************** - - :Author: A. M. Kuchling - :Release: 0.31 - -<span class="gd">-(This is a first draft. Please send comments/error reports/suggestions to</span> -<span class="gd">-amk****@amk*****.)</span> -<span class="gd">-</span> - In this document, we'll take a tour of Python's features suitable for - implementing programs in a functional style. After an introduction to the - concepts of functional programming, we'll look at language features such as - :term:`iterator`\s and :term:`generator`\s and relevant library modules such as - :mod:`itertools` and :mod:`functools`. - - - Introduction - ============ - - This section explains the basic concept of functional programming; if you're - just interested in learning about Python language features, skip to the next -</pre></div> - -</body> -</html> ======================================= --- /howto/index.rst.diff Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,22 +0,0 @@ -@@ -10,19 +10,21 @@ - - Currently, the HOWTOs are: - - .. toctree:: - :maxdepth: 1 - - advocacy.rst - cporting.rst - curses.rst - descriptor.rst - doanddont.rst - functional.rst -+ logging.rst -+ logging-cookbook.rst - regex.rst - sockets.rst - sorting.rst - unicode.rst - urllib2.rst - webservers.rst - ======================================= --- /howto/index.rst.diff.html Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,96 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>howto/index.rst</title> -<style type="text/css"> -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #808080 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0040D0 } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ -</style> -</head> -<body> -<div class="highlight"><pre><span class="gu">@@ -10,19 +10,21 @@</span> - - Currently, the HOWTOs are: - - .. toctree:: - :maxdepth: 1 - - advocacy.rst - cporting.rst - curses.rst - descriptor.rst - doanddont.rst - functional.rst -<span class="gi">+ logging.rst</span> -<span class="gi">+ logging-cookbook.rst</span> - regex.rst - sockets.rst - sorting.rst - unicode.rst - urllib2.rst - webservers.rst - -</pre></div> - -</body> -</html> ======================================= --- /howto/sorting.rst.diff Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,27 +0,0 @@ -@@ -1,22 +1,24 @@ -+.. _sortinghowto: -+ - Sorting HOW TO - ************** - - :Author: Andrew Dalke and Raymond Hettinger - :Release: 0.1 - - - Python lists have a built-in :meth:`list.sort` method that modifies the list --in-place and a :func:`sorted` built-in function that builds a new sorted list --from an iterable. -+in-place. There is also a :func:`sorted` built-in function that builds a new -+sorted list from an iterable. - - In this document, we explore the various techniques for sorting data using Python. - - - Sorting Basics - ============== - - A simple ascending sort is very easy: just call the :func:`sorted` function. It - returns a new sorted list:: - - >>> sorted([5, 2, 3, 1, 4]) - [1, 2, 3, 4, 5] ======================================= --- /howto/sorting.rst.diff.html Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,101 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>howto/sorting.rst</title> -<style type="text/css"> -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #808080 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0040D0 } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ -</style> -</head> -<body> -<div class="highlight"><pre><span class="gu">@@ -1,22 +1,24 @@</span> -<span class="gi">+.. _sortinghowto:</span> -<span class="gi">+</span> - Sorting HOW TO - ************** - - :Author: Andrew Dalke and Raymond Hettinger - :Release: 0.1 - - - Python lists have a built-in :meth:`list.sort` method that modifies the list -<span class="gd">-in-place and a :func:`sorted` built-in function that builds a new sorted list</span> -<span class="gd">-from an iterable.</span> -<span class="gi">+in-place. There is also a :func:`sorted` built-in function that builds a new</span> -<span class="gi">+sorted list from an iterable.</span> - - In this document, we explore the various techniques for sorting data using Python. - - - Sorting Basics - ============== - - A simple ascending sort is very easy: just call the :func:`sorted` function. It - returns a new sorted list:: - - >>> sorted([5, 2, 3, 1, 4]) - [1, 2, 3, 4, 5] -</pre></div> - -</body> -</html> ======================================= --- /howto/webservers.rst.diff Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,27 +0,0 @@ -@@ -521,25 +521,25 @@ - Some `frameworks`_ ship their own template engine or recommend one in - particular. In the absence of a reason to use a different template engine, - using the one provided by or recommended by the framework is a good idea. - - Popular template engines include: - - * `Mako <http://www.makotemplates.org/>`_ - * `Genshi <http://genshi.edgewall.org/>`_ - * `Jinja <http://jinja.pocoo.org/2/>`_ - - .. seealso:: - -- There are many template engines competing for attention, becuase it is -+ There are many template engines competing for attention, because it is - pretty easy to create them in Python. The page `Templating - <http://wiki.python.org/moin/Templating>`_ in the wiki lists a big, - ever-growing number of these. The three listed above are considered "second - generation" template engines and are a good place to start. - - - Data persistence - ---------------- - - *Data persistence*, while sounding very complicated, is just about storing data. - This data might be the text of blog entries, the postings on a bulletin board or - the text of a wiki page. There are, of course, a number of different ways to store ======================================= --- /howto/webservers.rst.diff.html Sun Oct 30 17:04:23 2011 +++ /dev/null @@ -1,101 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>howto/webservers.rst</title> -<style type="text/css"> -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #808080 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0040D0 } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ -</style> -</head> -<body> -<div class="highlight"><pre><span class="gu">@@ -521,25 +521,25 @@</span> - Some `frameworks`_ ship their own template engine or recommend one in - particular. In the absence of a reason to use a different template engine, - using the one provided by or recommended by the framework is a good idea. - - Popular template engines include: - - * `Mako <http://www.makotemplates.org/>`_ - * `Genshi <http://genshi.edgewall.org/>`_ - * `Jinja <http://jinja.pocoo.org/2/>`_ - - .. seealso:: - -<span class="gd">- There are many template engines competing for attention, becuase it is</span> -<span class="gi">+ There are many template engines competing for attention, because it is</span> - pretty easy to create them in Python. The page `Templating - <http://wiki.python.org/moin/Templating>`_ in the wiki lists a big, - ever-growing number of these. The three listed above are considered "second - generation" template engines and are a good place to start. - - - Data persistence - ---------------- - - *Data persistence*, while sounding very complicated, is just about storing data. - This data might be the text of blog entries, the postings on a bulletin board or - the text of a wiki page. There are, of course, a number of different ways to store -</pre></div> - -</body> -</html> ======================================= --- /howto/cporting.rst Wed Jun 8 06:02:52 2011 +++ /howto/cporting.rst Sun Nov 20 03:58:13 2011 @@ -45,8 +45,9 @@ :func:`bytes` です。Python 2.6 以降には互換性ヘッダ :file:`bytesobject.h` が用意されており、 ``PyBytes`` 系の名前を ``PyString`` 系にマップしていま す。 3.0 との互換性を最大限確保するには、 :ctype:`PyUnicode` は文字データに、 -:ctype:`PyBytes` はバイナリデータにだけ使うべきです。ほかにも、3.0 の -:ctype:`PyBytes` と :ctype:`PyUnicode` は 2.x の :ctype:`PyString` や +:ctype:`PyBytes` はバイナリデータにだけ使うべきです。 +ほかにも、3.0 の +:ctype:`PyBytes` と :ctype:`PyUnicode` は 2.x の :ctype:`PyString` と :ctype:`PyUnicode` とは違って交換不可能だということも重要です。以下の例では :ctype:`PyUnicode`, :ctype:`PyString`, :ctype:`PyBytes` に関する ベストプラクティスを見ることができます。 :: ======================================= --- /howto/descriptor.rst Sun Oct 2 09:58:08 2011 +++ /howto/descriptor.rst Sun Nov 20 03:58:13 2011 @@ -1,6 +1,6 @@ -=============================== -Descriptor HowTo Guide (未翻訳) -=============================== +============================== +Descriptor HowTo Guide (英語) +============================== :Author: Raymond Hettinger :Contact: <python at rcn dot com> @@ -296,7 +296,7 @@ <bound method D.f of <__main__.D object at 0x00B18C90>> The output suggests that bound and unbound methods are two different types. -While they could have been implemented that way, the actual C implemention of +While they could have been implemented that way, the actual C implementation of :ctype:`PyMethod_Type` in `Objects/classobject.c <http://svn.python.org/view/python/trunk/Objects/classobject.c?view=markup>`_ is a single object with two different representations depending on whether the ======================================= --- /howto/functional.rst Wed Jun 8 06:03:04 2011 +++ /howto/functional.rst Sun Nov 20 03:58:13 2011 @@ -5,8 +5,6 @@ :Author: A. M. Kuchling :Release: 0.31 -(これは下書きです。原文に関するコメント/間違い報告/提案は英語で amk****@amk***** まで。) - この文書では、関数型スタイルでプログラムを実装するのにピッタリな Python の機能を見てまわることにしましょう。まず関数型プログラミングという概念を 紹介したあと、 :term:`iterator` や :term:`generator` のような言語機能、 ======================================= --- /howto/sorting.rst Sun Oct 2 09:58:08 2011 +++ /howto/sorting.rst Sun Nov 20 03:58:13 2011 @@ -1,4 +1,6 @@ -Sorting HOW TO (未翻訳) +.. _sortinghowto: + +Sorting HOW TO (英語) *********************** :Author: Andrew Dalke and Raymond Hettinger @@ -6,8 +8,8 @@ Python lists have a built-in :meth:`list.sort` method that modifies the list -in-place and a :func:`sorted` built-in function that builds a new sorted list -from an iterable. +in-place. There is also a :func:`sorted` built-in function that builds a new +sorted list from an iterable. In this document, we explore the various techniques for sorting data using Python. ============================================================================== Revision: 227b615403c6 Author: Naoki INADA <inada****@klab*****> Date: Sun Nov 20 07:52:43 2011 Log: Update 2.7.2: library/configparser http://code.google.com/p/python-doc-ja/source/detail?r=227b615403c6 Modified: /library/configparser.rst ======================================= --- /library/configparser.rst Sun Mar 20 07:25:57 2011 +++ /library/configparser.rst Sun Nov 20 07:52:43 2011 @@ -26,29 +26,21 @@ このモジュールでは、 :class:`ConfigParser` クラスを定義していま す。 :class:`ConfigParser` クラスは、Microsoft Windows の INI ファイルに見られるような構造をもつ、基礎 的な設定ファイルを実装しています。 このモジュールを使って、エンドユーザーが簡単にカスタマイズできるような Python プログラムを書くことができます。 - -.. % The \class{ConfigParser} class implements a basic configuration file -.. % parser language which provides a structure similar to what you would -.. % find on Microsoft Windows INI files. You can use this to write Python -.. % programs which can be customized by end users easily. - -.. % \begin{notice}[warning] -.. % This library does \emph{not} interpret or write the value-type -.. % prefixes used in the Windows Registry extended version of INI syntax. -.. % \end{notice} .. note:: このライブラリでは、Windowsのレジストリ用に拡張された INI 文法はサポー ト *していません* 。 -.. The configuration file consists of sections, led by a ``[section]`` header and - followed by ``name: value`` entries, with continuations in the style of - :rfc:`822` (see section 3.1.1, "LONG HEADER FIELDS"); ``name=value`` is also - accepted. Note that leading whitespace is removed from values. The optional - values can contain format strings which refer to other values in the same - section, or values in a special ``DEFAULT`` section. Additional defaults can be - provided on initialization and retrieval. Lines beginning with ``'#'`` or - ``';'`` are ignored and may be used to provide comments. +.. seealso:: + + モジュール :mod:`shlex` + アプリケーション用の設定ファイルフォーマットとして使える、 + Unix シェルライクなミニ言語の作成を支援します。 + + モジュール :mod:`json` + jsom モジュールは、同じ目的に利用できる JavaScript の文法のサブセット を + 実装しています。 + 設定ファイルは 1 つ以上のセクションからなり、セクションは ``[section]`` ヘ ッダとそれに続く :rfc:`822` 形式の ``name: value`` エントリからなっています。(section 3.1.1 "LONG HEADER FIELDS" を参照) @@ -96,69 +88,69 @@ セクションはソートされます。 -.. class:: RawConfigParser([defaults[, dict_type]]) - - .. The basic configuration object. When *defaults* is given, it is initialized - into the dictionary of intrinsic defaults. When *dict_type* is given, it will - be used to create the dictionary objects for the list of sections, for the - options within a section, and for the default values. This class does not - support the magical interpolation behavior. - - 基本的な設定オブジェクトです。 *defaults* が与えられた場合、オブジェクト に固有のデフォルト値がその値で初期化されます。 - *dict_type* が与えられた場合、それが、セクションのリストの格納、セクショ ン内のオプションの格納、 - デフォルト値のために利用されます。 +.. class:: RawConfigParser([defaults[, dict_type[, allow_no_value]]]) + + 基本的な設定オブジェクトです。 *defaults* が与えられた場合、オブジェクト に + 固有のデフォルト値がその値で初期化されます。 + *dict_type* が与えられた場合、それが、セクションのリストの格納、 + セクション内のオプションの格納、デフォルト値のために利用されます。 + + *allow_no_value* (デフォルト: ``False``) が真の時、値のないオプションが + 許可されます。この場合の値は ``None`` になります。 + このクラスは値の置換をサポートしません。 + 全てのオプション名が :meth:`optionxform` メソッドに渡されます。 + このメソッドのデフォルトの実装では、オプション名を小文字に変換します。 + .. versionadded:: 2.3 .. versionchanged:: 2.6 *dict_type* が追加されました。 - -.. class:: ConfigParser([defaults[, dict_type]]) + .. versionchanged:: 2.7 + デフォルトの *dict_type* は :class:`collections.OrderedDict` です。 + *allow_no_value* が追加されました。 + + +.. class:: ConfigParser([defaults[, dict_type[, allow_no_value]]]) :class:`RawConfigParser` の派生クラスで値の置換を実装しており、 :meth:`get` メソッドと :meth:`items` メソッドに省略可能な引数を追加して います。 *defaults* に含まれる値は ``%()s`` による値の置換に適当なものである必要 があります。 *__name__* は組み込みのデフォルト値で、セクション名が含まれるので *defaults* で設定してもオーバーライドされます。 - .. % Derived class of \class{RawConfigParser} that implements the magical - .. % interpolation feature and adds optional arguments the \method{get()} - .. % and \method{items()} methods. The values in \var{defaults} must be - .. % appropriate for the \samp{\%()s} string interpolation. Note that - .. % \var{__name__} is an intrinsic default; its value is the section name, - .. % and will override any value provided in \var{defaults}. - .. % - .. % All option names used in interpolation will be passed through the - .. % \method{optionxform()} method just like any other option name - .. % reference. For example, using the default implementation of - .. % \method{optionxform()} (which converts option names to lower case), - .. % the values \samp{foo \%(bar)s} and \samp{foo \%(BAR)s} are - .. % equivalent. - - 置換で使われるすべてのオプション名は、ほかのオプション名への参照と同様 に :meth:`optionxform` メソッドを介して渡されます。たとえば、 - :meth:`optionxform` のデフォルト実装 (これはオプション名を小文字に変換し ます) を使うと、値 ``foo %(bar)s`` および + 置換で使われるすべてのオプション名は、ほかのオプション名への参照と同様に + :meth:`optionxform` メソッドを介して渡されます。 + :meth:`optionxform` のデフォルト実装を使うと、値 ``foo %(bar)s`` および ``foo %(BAR)s`` は同一になります。 - -.. class:: SafeConfigParser([defaults[, dict_type]]) - - .. % Derived class of \class{ConfigParser} that implements a more-sane - .. % variant of the magical interpolation feature. This implementation is - .. % more predictable as well. - .. % % XXX Need to explain what's safer/more predictable about it. - .. % New applications should prefer this version if they don't need to be - .. % compatible with older versions of Python. - - :class:`ConfigParser` の派生クラスでより安全な値の置換を実装しています。 この実装のはより予測可能性が高くなっています。 - 新規に書くアプリケーションでは、古いバージョンのPythonと互換性を持たせる 必要がない限り、このバージョンを利用することが望ましいです。 - - .. XXX 何がどう安全で予測可能性なのか書くこと。 + .. versionadded:: 2.3 + + .. versionchanged:: 2.6 + *dict_type* が追加されました。 + + .. versionchanged:: 2.7 + デフォルトの *dict_type* は :class:`collections.OrderedDict` です。 + *allow_no_value* が追加されました。 + + +.. class:: SafeConfigParser([defaults[, dict_type[, allow_no_value]]]) + + :class:`ConfigParser` の派生クラスでより安全な値の置換を実装しています。 + この実装はより予測可能性が高くなっています。 + 新規に書くアプリケーションでは、古いバージョンのPythonと互換性を持たせる 必要がない限り、このバージョンを利用することが望ましいです。 .. versionadded:: 2.3 - -.. memo configparser は :mod: の付け忘れか? + .. versionchanged:: 2.6 + *dict_type* が追加されました。 + + .. versionchanged:: 2.7 + デフォルトの *dict_type* は :class:`collections.OrderedDict` です。 + *allow_no_value* が追加されました。 + + .. exception:: Error 他の全ての configparser の例外の基底クラスです。 @@ -637,3 +629,37 @@ opt_move(config, section1, section2, option) else: config.remove_option(section1, option) + +いくつかの設定ファイルでは、値のない設定項目がある以外 は :mod:`ConfigParser` の +文法と同じ文法になっています。 +コンストラクタの *allow_no_value* 引数で、そのような値を許可することができ ます。 + +.. doctest:: + + >>> import ConfigParser + >>> import io + + >>> sample_config = """ + ... [mysqld] + ... user = mysql + ... pid-file = /var/run/mysqld/mysqld.pid + ... skip-external-locking + ... old_passwords = 1 + ... skip-bdb + ... skip-innodb + ... """ + >>> config = ConfigParser.RawConfigParser(allow_no_value=True) + >>> config.readfp(io.BytesIO(sample_config)) + + >>> # Settings with values are treated as before: + >>> config.get("mysqld", "user") + 'mysql' + + >>> # Settings without values provide None: + >>> config.get("mysqld", "skip-bdb") + + >>> # Settings which aren't specified still raise an error: + >>> config.get("mysqld", "does-not-exist") + Traceback (most recent call last): + ... + ConfigParser.NoOptionError: No option 'does-not-exist' in section: 'mysqld' ============================================================================== Revision: 9c0246f8d08c Author: Naoki INADA <inada****@klab*****> Date: Sun Nov 20 07:52:55 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=9c0246f8d08c