1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
---|
2 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><!-- |
---|
3 | This HTML is auto-generated. DO NOT EDIT THIS FILE! If you are writing a new |
---|
4 | PEP, see http://www.python.org/peps/pep-0001.html for instructions and links |
---|
5 | to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! |
---|
6 | --> |
---|
7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
---|
8 | <meta name="generator" content="Docutils 0.2.8: http://docutils.sourceforge.net/"><title>PEP 257 -- Docstring Conventions</title> |
---|
9 | |
---|
10 | <link rel="stylesheet" href="Docstring%20Conventions,%20GA%20version_files/pep.css" type="text/css"></head> |
---|
11 | |
---|
12 | |
---|
13 | |
---|
14 | <body bgcolor="white"> |
---|
15 | <table class="navigation" border="0" cellpadding="0" cellspacing="0" width="100%"> |
---|
16 | <tbody><tr><td class="navicon" height="35" width="150"> |
---|
17 | <a href="http://www.python.org/" title="Python Home Page"> |
---|
18 | <img src="Docstring%20Conventions,%20GA%20version_files/PyBanner012.gif" alt="[Python]" border="0" height="35" width="150"></a></td> |
---|
19 | <td class="textlinks" align="left"> |
---|
20 | [<b><a href="http://www.python.org/">Python Home</a></b>] |
---|
21 | [<b><a href="http://www.python.org/peps/">PEP Index</a></b>] |
---|
22 | [<b><a href="http://www.python.org/peps/pep-0257.txt">PEP Source</a></b>] |
---|
23 | </td></tr></tbody></table> |
---|
24 | <div class="document"> |
---|
25 | <table class="rfc2822 field-list" frame="void" rules="none"> |
---|
26 | <col class="field-name"> |
---|
27 | <col class="field-body"> |
---|
28 | <tbody valign="top"> |
---|
29 | <tr class="field"><th class="field-name">PEP:</th><td class="field-body">257</td> |
---|
30 | </tr> |
---|
31 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Docstring Conventions</td> |
---|
32 | </tr> |
---|
33 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.8</td> |
---|
34 | </tr> |
---|
35 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/nondist/peps/pep-0257.txt">2002/11/30 01:49:37</a></td> |
---|
36 | </tr> |
---|
37 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">David Goodger <goodger at users.sourceforge.net>, |
---|
38 | Guido van Rossum <guido at python.org></td> |
---|
39 | </tr> |
---|
40 | <tr class="field"><th class="field-name">Discussions-To:</th><td class="field-body"><a class="reference" href="mailto:doc-sig@python.org?subject=PEP%20257">doc-sig at python.org</a></td> |
---|
41 | </tr> |
---|
42 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Active</td> |
---|
43 | </tr> |
---|
44 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Informational</td> |
---|
45 | </tr> |
---|
46 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="http://www.python.org/peps/pep-0012.html">text/x-rst</a></td> |
---|
47 | </tr> |
---|
48 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">29-May-2001</td> |
---|
49 | </tr> |
---|
50 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">13-Jun-2001</td> |
---|
51 | </tr> |
---|
52 | </tbody> |
---|
53 | </table> |
---|
54 | <hr> |
---|
55 | <div class="contents topic" id="contents"> |
---|
56 | <p class="topic-title"><a name="contents">Contents</a></p> |
---|
57 | <ul class="simple"> |
---|
58 | <li><a class="reference" href="#abstract" id="id14" name="id14">Abstract</a></li> |
---|
59 | <li><a class="reference" href="#rationale" id="id15" name="id15">Rationale</a></li> |
---|
60 | <li><a class="reference" href="#specification" id="id16" name="id16">Specification</a><ul> |
---|
61 | <li><a class="reference" href="#what-is-a-docstring" id="id17" name="id17">What is a Docstring?</a></li> |
---|
62 | <li><a class="reference" href="#one-line-docstrings" id="id18" name="id18">One-line Docstrings</a></li> |
---|
63 | <li><a class="reference" href="#multi-line-docstrings" id="id19" name="id19">Multi-line Docstrings</a></li> |
---|
64 | <li><a class="reference" href="#handling-docstring-indentation" id="id20" name="id20">Handling Docstring Indentation</a></li> |
---|
65 | </ul> |
---|
66 | </li> |
---|
67 | <li><a class="reference" href="#references-and-footnotes" id="id21" name="id21">References and Footnotes</a></li> |
---|
68 | <li><a class="reference" href="#copyright" id="id22" name="id22">Copyright</a></li> |
---|
69 | <li><a class="reference" href="#acknowledgements" id="id23" name="id23">Acknowledgements</a></li> |
---|
70 | </ul> |
---|
71 | </div> |
---|
72 | <div class="section" id="abstract"> |
---|
73 | <h1><a class="toc-backref" href="#id14" name="abstract">Abstract</a></h1> |
---|
74 | <p>This PEP documents the semantics and conventions associated with |
---|
75 | Python docstrings.</p> |
---|
76 | </div> |
---|
77 | <div class="section" id="rationale"> |
---|
78 | <h1><a class="toc-backref" href="#id15" name="rationale">Rationale</a></h1> |
---|
79 | <p>The aim of this PEP is to standardize the high-level structure of |
---|
80 | docstrings: what they should contain, and how to say it (without |
---|
81 | touching on any markup syntax within docstrings). The PEP contains |
---|
82 | conventions, not laws or syntax.</p> |
---|
83 | <blockquote> |
---|
84 | <p>"A universal convention supplies all of maintainability, clarity, |
---|
85 | consistency, and a foundation for good programming habits too. |
---|
86 | What it doesn't do is insist that you follow it against your will. |
---|
87 | That's Python!"</p> |
---|
88 | <p>-- Tim Peters on comp.lang.python, 2001-06-16</p> |
---|
89 | </blockquote> |
---|
90 | <p>If you violate these conventions, the worst you'll get is some dirty |
---|
91 | looks. But some software (such as the <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> <a class="footnote-reference" href="#id8" id="id9" name="id9">[4]</a> docstring processing |
---|
92 | system <a class="footnote-reference" href="#id5" id="id1" name="id1">[1]</a> <a class="footnote-reference" href="#id6" id="id2" name="id2">[2]</a>) will be aware of the conventions, so following them |
---|
93 | will get you the best results.</p> |
---|
94 | </div> |
---|
95 | <div class="section" id="specification"> |
---|
96 | <h1><a class="toc-backref" href="#id16" name="specification">Specification</a></h1> |
---|
97 | <div class="section" id="what-is-a-docstring"> |
---|
98 | <h2><a class="toc-backref" href="#id17" name="what-is-a-docstring">What is a Docstring?</a></h2> |
---|
99 | <p>A docstring is a string literal that occurs as the first statement in |
---|
100 | a module, function, class, or method definition. Such a docstring |
---|
101 | becomes the <tt class="literal"><span class="pre">__doc__</span></tt> special attribute of that object.</p> |
---|
102 | <p>All modules should normally have docstrings, and all functions and |
---|
103 | classes exported by a module should also have docstrings. Public |
---|
104 | methods (including the <tt class="literal"><span class="pre">__init__</span></tt> constructor) should also have |
---|
105 | docstrings. A package may be documented in the module docstring of |
---|
106 | the <tt class="literal"><span class="pre">__init__.py</span></tt> file in the package directory.</p> |
---|
107 | <p>String literals occurring elsewhere in Python code may also act as |
---|
108 | documentation. They are not recognized by the Python bytecode |
---|
109 | compiler and are not accessible as runtime object attributes (i.e. not |
---|
110 | assigned to <tt class="literal"><span class="pre">__doc__</span></tt>), but two types of extra docstrings may be |
---|
111 | extracted by software tools:</p> |
---|
112 | <ol class="arabic simple"> |
---|
113 | <li>String literals occurring immediately after a simple assignment at |
---|
114 | the top level of a module, class, or <tt class="literal"><span class="pre">__init__</span></tt> method are called |
---|
115 | "attribute docstrings".</li> |
---|
116 | <li>String literals occurring immediately after another docstring are |
---|
117 | called "additional docstrings".</li> |
---|
118 | </ol> |
---|
119 | <p>Please see <a class="reference" href="http://www.python.org/peps/pep-0258.html">PEP 258</a>, "Docutils Design Specification" <a class="footnote-reference" href="#id6" id="id3" name="id3">[2]</a>, for a |
---|
120 | detailed description of attribute and additional docstrings.</p> |
---|
121 | <p>XXX Mention docstrings of 2.2 properties.</p> |
---|
122 | <p>For consistency, always use <tt class="literal"><span class="pre">"""triple</span> <span class="pre">double</span> <span class="pre">quotes"""</span></tt> around |
---|
123 | docstrings. Use <tt class="literal"><span class="pre">r"""raw</span> <span class="pre">triple</span> <span class="pre">double</span> <span class="pre">quotes"""</span></tt> if you use any |
---|
124 | backslashes in your docstrings. For Unicode docstrings, use |
---|
125 | <tt class="literal"><span class="pre">u"""Unicode</span> <span class="pre">triple-quoted</span> <span class="pre">strings"""</span></tt>.</p> |
---|
126 | <p>There are two forms of docstrings: one-liners and multi-line |
---|
127 | docstrings.</p> |
---|
128 | </div> |
---|
129 | <div class="section" id="one-line-docstrings"> |
---|
130 | <h2><a class="toc-backref" href="#id18" name="one-line-docstrings">One-line Docstrings</a></h2> |
---|
131 | <p>One-liners are for really obvious cases. They should really fit on |
---|
132 | one line. For example:</p> |
---|
133 | <pre class="literal-block">def kos_root(): |
---|
134 | """Return the pathname of the KOS root directory.""" |
---|
135 | global _kos_root |
---|
136 | if _kos_root: return _kos_root |
---|
137 | ... |
---|
138 | </pre> |
---|
139 | <p>Notes:</p> |
---|
140 | <ul> |
---|
141 | <li><p class="first">Triple quotes are used even though the string fits on one line. |
---|
142 | This makes it easy to later expand it.</p> |
---|
143 | </li> |
---|
144 | <li><p class="first">The closing quotes are on the same line as the opening quotes. This |
---|
145 | looks better for one-liners.</p> |
---|
146 | </li> |
---|
147 | <li><p class="first">There's no blank line either before or after the docstring.</p> |
---|
148 | </li> |
---|
149 | <li><p class="first">The docstring is a phrase ending in a period. It prescribes the |
---|
150 | function or method's effect as a command ("Do this", "Return that"), |
---|
151 | not as a description; e.g. don't write "Returns the pathname ...".</p> |
---|
152 | </li> |
---|
153 | <li><p class="first">The one-line docstring should NOT be a "signature" reiterating the |
---|
154 | function/method parameters (which can be obtained by introspection). |
---|
155 | Don't do:</p> |
---|
156 | <pre class="literal-block">def function(a, b): |
---|
157 | """function(a, b) -> list""" |
---|
158 | </pre> |
---|
159 | <p>This type of docstring is only appropriate for C functions (such as |
---|
160 | built-ins), where introspection is not possible. However, the |
---|
161 | nature of the <em>return value</em> cannot be determined by introspection, |
---|
162 | so it should be mentioned. The preferred form for such a docstring |
---|
163 | would be something like:</p> |
---|
164 | <pre class="literal-block">def function(a, b): |
---|
165 | """Do X and return a list.""" |
---|
166 | </pre> |
---|
167 | <p>(Of course "Do X" should be replaced by a useful description!)</p> |
---|
168 | </li> |
---|
169 | </ul> |
---|
170 | </div> |
---|
171 | <div class="section" id="multi-line-docstrings"> |
---|
172 | <h2><a class="toc-backref" href="#id19" name="multi-line-docstrings">Multi-line Docstrings</a></h2> |
---|
173 | <p>Multi-line docstrings consist of a summary line just like a one-line |
---|
174 | docstring, followed by a blank line, followed by a more elaborate |
---|
175 | description. The summary line may be used by automatic indexing |
---|
176 | tools; it is important that it fits on one line and is separated from |
---|
177 | the rest of the docstring by a blank line. The summary line may be on |
---|
178 | the same line as the opening quotes or on the next line. The entire |
---|
179 | docstring is indented the same as the quotes at its first line (see |
---|
180 | example below).</p> |
---|
181 | <p>Insert a blank line before and after all docstrings (one-line or |
---|
182 | multi-line) that document a class -- generally speaking, the class's |
---|
183 | methods are separated from each other by a single blank line, and the |
---|
184 | docstring needs to be offset from the first method by a blank line; |
---|
185 | for symmetry, put a blank line between the class header and the |
---|
186 | docstring. Docstrings documenting functions or methods generally |
---|
187 | don't have this requirement, unless the function or method's body is |
---|
188 | written as a number of blank-line separated sections -- in this case, |
---|
189 | treat the docstring as another section, and precede it with a blank |
---|
190 | line.</p> |
---|
191 | <p>The docstring of a script (a stand-alone program) should be usable as |
---|
192 | its "usage" message, printed when the script is invoked with incorrect |
---|
193 | or missing arguments (or perhaps with a "-h" option, for "help"). |
---|
194 | Such a docstring should document the script's function and command |
---|
195 | line syntax, environment variables, and files. Usage messages can be |
---|
196 | fairly elaborate (several screens full) and should be sufficient for a |
---|
197 | new user to use the command properly, as well as a complete quick |
---|
198 | reference to all options and arguments for the sophisticated user.</p> |
---|
199 | <p>The docstring for a module should generally list the classes, |
---|
200 | exceptions and functions (and any other objects) that are exported by |
---|
201 | the module, with a one-line summary of each. (These summaries |
---|
202 | generally give less detail than the summary line in the object's |
---|
203 | docstring.) The docstring for a package (i.e., the docstring of the |
---|
204 | package's <tt class="literal"><span class="pre">__init__.py</span></tt> module) should also list the modules and |
---|
205 | subpackages exported by the package.</p> |
---|
206 | <p>The docstring for a function or method should summarize its behavior |
---|
207 | and document its arguments, return value(s), side effects, exceptions |
---|
208 | raised, and restrictions on when it can be called (all if applicable). |
---|
209 | Optional arguments should be indicated. It should be documented |
---|
210 | whether keyword arguments are part of the interface.</p> |
---|
211 | <p>The docstring for a class should summarize its behavior and list the |
---|
212 | public methods and instance variables. If the class is intended to be |
---|
213 | subclassed, and has an additional interface for subclasses, this |
---|
214 | interface should be listed separately (in the docstring). The class |
---|
215 | constructor should be documented in the docstring for its <tt class="literal"><span class="pre">__init__</span></tt> |
---|
216 | method. Individual methods should be documented by their own |
---|
217 | docstring.</p> |
---|
218 | <p>If a class subclasses another class and its behavior is mostly |
---|
219 | inherited from that class, its docstring should mention this and |
---|
220 | summarize the differences. Use the verb "override" to indicate that a |
---|
221 | subclass method replaces a superclass method and does not call the |
---|
222 | superclass method; use the verb "extend" to indicate that a subclass |
---|
223 | method calls the superclass method (in addition to its own behavior).</p> |
---|
224 | <p><em>Do not</em> use the Emacs convention of mentioning the arguments of |
---|
225 | functions or methods in upper case in running text. Python is case |
---|
226 | sensitive and the argument names can be used for keyword arguments, so |
---|
227 | the docstring should document the correct argument names. It is best |
---|
228 | to list each argument on a separate line. For example:</p> |
---|
229 | <pre class="literal-block">def complex(real=0.0, imag=0.0): |
---|
230 | """Form a complex number. |
---|
231 | |
---|
232 | Keyword arguments: |
---|
233 | real -- the real part (default 0.0) |
---|
234 | imag -- the imaginary part (default 0.0) |
---|
235 | |
---|
236 | """ |
---|
237 | if imag == 0.0 and real == 0.0: return complex_zero |
---|
238 | ... |
---|
239 | </pre> |
---|
240 | <p>The BDFL <a class="footnote-reference" href="#id7" id="id4" name="id4">[3]</a> recommends inserting a blank line between the last |
---|
241 | paragraph in a multi-line docstring and its closing quotes, placing |
---|
242 | the closing quotes on a line by themselves. This way, Emacs' |
---|
243 | <tt class="literal"><span class="pre">fill-paragraph</span></tt> command can be used on it.</p> |
---|
244 | </div> |
---|
245 | <div class="section" id="handling-docstring-indentation"> |
---|
246 | <h2><a class="toc-backref" href="#id20" name="handling-docstring-indentation">Handling Docstring Indentation</a></h2> |
---|
247 | <p>Docstring processing tools will strip a uniform amount of indentation |
---|
248 | from the second and further lines of the docstring, equal to the |
---|
249 | minimum indentation of all non-blank lines after the first line. Any |
---|
250 | indentation in the first line of the docstring (i.e., up to the first |
---|
251 | newline) is insignificant and removed. Relative indentation of later |
---|
252 | lines in the docstring is retained. Blank lines should be removed |
---|
253 | from the beginning and end of the docstring.</p> |
---|
254 | <p>Since code is much more precise than words, here is an implementation |
---|
255 | of the algorithm:</p> |
---|
256 | <pre class="literal-block">def trim(docstring): |
---|
257 | if not docstring: |
---|
258 | return '' |
---|
259 | # Convert tabs to spaces (following the normal Python rules) |
---|
260 | # and split into a list of lines: |
---|
261 | lines = docstring.expandtabs().splitlines() |
---|
262 | # Determine minimum indentation (first line doesn't count): |
---|
263 | indent = sys.maxint |
---|
264 | for line in lines[1:]: |
---|
265 | stripped = line.lstrip() |
---|
266 | if stripped: |
---|
267 | indent = min(indent, len(line) - len(stripped)) |
---|
268 | # Remove indentation (first line is special): |
---|
269 | trimmed = [lines[0].strip()] |
---|
270 | if indent < sys.maxint: |
---|
271 | for line in lines[1:]: |
---|
272 | trimmed.append(line[indent:].rstrip()) |
---|
273 | # Strip off trailing and leading blank lines: |
---|
274 | while trimmed and not trimmed[-1]: |
---|
275 | trimmed.pop() |
---|
276 | while trimmed and not trimmed[0]: |
---|
277 | trimmed.pop(0) |
---|
278 | # Return a single string: |
---|
279 | return '\n'.join(trimmed) |
---|
280 | </pre> |
---|
281 | <p>The docstring in this example contains two newline characters and is |
---|
282 | therefore 3 lines long. The first and last lines are blank:</p> |
---|
283 | <pre class="literal-block">def foo(): |
---|
284 | """ |
---|
285 | This is the second line of the docstring. |
---|
286 | """ |
---|
287 | </pre> |
---|
288 | <p>To illustrate:</p> |
---|
289 | <pre class="literal-block">>>> print repr(foo.__doc__) |
---|
290 | '\n This is the second line of the docstring.\n ' |
---|
291 | >>> foo.__doc__.splitlines() |
---|
292 | ['', ' This is the second line of the docstring.', ' '] |
---|
293 | >>> trim(foo.__doc__) |
---|
294 | 'This is the second line of the docstring.' |
---|
295 | </pre> |
---|
296 | <p>Once trimmed, these docstrings are equivalent:</p> |
---|
297 | <pre class="literal-block">def foo(): |
---|
298 | """A multi-line |
---|
299 | docstring. |
---|
300 | """ |
---|
301 | |
---|
302 | def bar(): |
---|
303 | """ |
---|
304 | A multi-line |
---|
305 | docstring. |
---|
306 | """ |
---|
307 | </pre> |
---|
308 | </div> |
---|
309 | </div> |
---|
310 | <div class="section" id="references-and-footnotes"> |
---|
311 | <h1><a class="toc-backref" href="#id21" name="references-and-footnotes">References and Footnotes</a></h1> |
---|
312 | <table class="footnote" id="id5" frame="void" rules="none"> |
---|
313 | <colgroup><col class="label"><col></colgroup> |
---|
314 | <tbody valign="top"> |
---|
315 | <tr><td class="label"><a class="fn-backref" href="#id1" name="id5">[1]</a></td><td><a class="reference" href="http://www.python.org/peps/pep-0256.html">PEP 256</a>, Docstring Processing System Framework, Goodger |
---|
316 | (<a class="reference" href="http://www.python.org/peps/pep-0256.html">http://www.python.org/peps/pep-0256.html</a>)</td></tr> |
---|
317 | </tbody> |
---|
318 | </table> |
---|
319 | <table class="footnote" id="id6" frame="void" rules="none"> |
---|
320 | <colgroup><col class="label"><col></colgroup> |
---|
321 | <tbody valign="top"> |
---|
322 | <tr><td class="label"><a name="id6">[2]</a></td><td><em>(<a class="fn-backref" href="#id2">1</a>, <a class="fn-backref" href="#id3">2</a>)</em> <a class="reference" href="http://www.python.org/peps/pep-0258.html">PEP 258</a>, Docutils Design Specification, Goodger |
---|
323 | (<a class="reference" href="http://www.python.org/peps/pep-0258.html">http://www.python.org/peps/pep-0258.html</a>)</td></tr> |
---|
324 | </tbody> |
---|
325 | </table> |
---|
326 | <table class="footnote" id="id7" frame="void" rules="none"> |
---|
327 | <colgroup><col class="label"><col></colgroup> |
---|
328 | <tbody valign="top"> |
---|
329 | <tr><td class="label"><a class="fn-backref" href="#id4" name="id7">[3]</a></td><td>Guido van Rossum, Python's creator and Benevolent Dictator For |
---|
330 | Life.</td></tr> |
---|
331 | </tbody> |
---|
332 | </table> |
---|
333 | <table class="footnote" id="id8" frame="void" rules="none"> |
---|
334 | <colgroup><col class="label"><col></colgroup> |
---|
335 | <tbody valign="top"> |
---|
336 | <tr><td class="label"><a class="fn-backref" href="#id9" name="id8">[4]</a></td><td><a class="reference" href="http://docutils.sourceforge.net/">http://docutils.sourceforge.net/</a></td></tr> |
---|
337 | </tbody> |
---|
338 | </table> |
---|
339 | <table class="footnote" id="id10" frame="void" rules="none"> |
---|
340 | <colgroup><col class="label"><col></colgroup> |
---|
341 | <tbody valign="top"> |
---|
342 | <tr><td class="label"><a class="fn-backref" href="#id11" name="id10">[5]</a></td><td><a class="reference" href="http://www.python.org/doc/essays/styleguide.html">http://www.python.org/doc/essays/styleguide.html</a></td></tr> |
---|
343 | </tbody> |
---|
344 | </table> |
---|
345 | <table class="footnote" id="id12" frame="void" rules="none"> |
---|
346 | <colgroup><col class="label"><col></colgroup> |
---|
347 | <tbody valign="top"> |
---|
348 | <tr><td class="label"><a class="fn-backref" href="#id13" name="id12">[6]</a></td><td><a class="reference" href="http://www.python.org/sigs/doc-sig/">http://www.python.org/sigs/doc-sig/</a></td></tr> |
---|
349 | </tbody> |
---|
350 | </table> |
---|
351 | </div> |
---|
352 | <div class="section" id="copyright"> |
---|
353 | <h1><a class="toc-backref" href="#id22" name="copyright">Copyright</a></h1> |
---|
354 | <p>This document has been placed in the public domain.</p> |
---|
355 | </div> |
---|
356 | <div class="section" id="acknowledgements"> |
---|
357 | <h1><a class="toc-backref" href="#id23" name="acknowledgements">Acknowledgements</a></h1> |
---|
358 | <p>The "Specification" text comes mostly verbatim from the <a class="reference" href="http://www.python.org/doc/essays/styleguide.html">Python Style |
---|
359 | Guide</a> <a class="footnote-reference" href="#id10" id="id11" name="id11">[5]</a> essay by Guido van Rossum.</p> |
---|
360 | <p>This document borrows ideas from the archives of the Python <a class="reference" href="http://www.python.org/sigs/doc-sig/">Doc-SIG</a> <a class="footnote-reference" href="#id12" id="id13" name="id13">[6]</a>. |
---|
361 | Thanks to all members past and present.</p> |
---|
362 | <!-- Local Variables: |
---|
363 | mode: indented-text |
---|
364 | indent-tabs-mode: nil |
---|
365 | fill-column: 70 |
---|
366 | sentence-end-double-space: t |
---|
367 | End: --> |
---|
368 | </div> |
---|
369 | </div> |
---|
370 | |
---|
371 | <hr class="footer"> |
---|
372 | <div class="footer"> |
---|
373 | <a class="reference" href="http://www.python.org/peps/pep-0257.txt">View document source</a>. |
---|
374 | Generated on: 2005-10-26 02:30 UTC. |
---|
375 | Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
---|
376 | </div> |
---|
377 | </body></html> |
---|