~dkuhlman/python-training-materials/Materials

« back to all changes in this revision

Viewing changes to python-3.5.1-docs-html/faq/general.html

  • Committer: Dave Kuhlman
  • Date: 2017-04-15 16:24:56 UTC
  • Revision ID: dkuhlman@davekuhlman.org-20170415162456-iav9vozzg4iwqwv3
Updated docs

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
 
 
4
 
 
5
 
<html xmlns="http://www.w3.org/1999/xhtml">
6
 
  <head>
7
 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
 
    
9
 
    <title>General Python FAQ &mdash; Python 3.5.1 documentation</title>
10
 
    
11
 
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
12
 
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
 
    
14
 
    <script type="text/javascript">
15
 
      var DOCUMENTATION_OPTIONS = {
16
 
        URL_ROOT:    '../',
17
 
        VERSION:     '3.5.1',
18
 
        COLLAPSE_INDEX: false,
19
 
        FILE_SUFFIX: '.html',
20
 
        HAS_SOURCE:  true
21
 
      };
22
 
    </script>
23
 
    <script type="text/javascript" src="../_static/jquery.js"></script>
24
 
    <script type="text/javascript" src="../_static/underscore.js"></script>
25
 
    <script type="text/javascript" src="../_static/doctools.js"></script>
26
 
    <script type="text/javascript" src="../_static/sidebar.js"></script>
27
 
    <link rel="search" type="application/opensearchdescription+xml"
28
 
          title="Search within Python 3.5.1 documentation"
29
 
          href="../_static/opensearch.xml"/>
30
 
    <link rel="author" title="About these documents" href="../about.html" />
31
 
    <link rel="copyright" title="Copyright" href="../copyright.html" />
32
 
    <link rel="top" title="Python 3.5.1 documentation" href="../contents.html" />
33
 
    <link rel="up" title="Python Frequently Asked Questions" href="index.html" />
34
 
    <link rel="next" title="Programming FAQ" href="programming.html" />
35
 
    <link rel="prev" title="Python Frequently Asked Questions" href="index.html" />
36
 
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
37
 
    <script type="text/javascript" src="../_static/copybutton.js"></script>
38
 
    <script type="text/javascript" src="../_static/version_switch.js"></script>
39
 
    
40
 
 
41
 
 
42
 
  </head>
43
 
  <body role="document">  
44
 
    <div class="related" role="navigation" aria-label="related navigation">
45
 
      <h3>Navigation</h3>
46
 
      <ul>
47
 
        <li class="right" style="margin-right: 10px">
48
 
          <a href="../genindex.html" title="General Index"
49
 
             accesskey="I">index</a></li>
50
 
        <li class="right" >
51
 
          <a href="../py-modindex.html" title="Python Module Index"
52
 
             >modules</a> |</li>
53
 
        <li class="right" >
54
 
          <a href="programming.html" title="Programming FAQ"
55
 
             accesskey="N">next</a> |</li>
56
 
        <li class="right" >
57
 
          <a href="index.html" title="Python Frequently Asked Questions"
58
 
             accesskey="P">previous</a> |</li>
59
 
        <li><img src="../_static/py.png" alt=""
60
 
                 style="vertical-align: middle; margin-top: -1px"/></li>
61
 
        <li><a href="https://www.python.org/">Python</a> &raquo;</li>
62
 
        <li>
63
 
          <span class="version_switcher_placeholder">3.5.1</span>
64
 
          <a href="../index.html">Documentation </a> &raquo;
65
 
        </li>
66
 
 
67
 
          <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Python Frequently Asked Questions</a> &raquo;</li> 
68
 
      </ul>
69
 
    </div>    
70
 
 
71
 
    <div class="document">
72
 
      <div class="documentwrapper">
73
 
        <div class="bodywrapper">
74
 
          <div class="body" role="main">
75
 
            
76
 
  <div class="section" id="general-python-faq">
77
 
<h1><a class="toc-backref" href="#id1">General Python FAQ</a><a class="headerlink" href="#general-python-faq" title="Permalink to this headline">¶</a></h1>
78
 
<div class="contents topic" id="contents">
79
 
<p class="topic-title first">Contents</p>
80
 
<ul class="simple">
81
 
<li><a class="reference internal" href="#general-python-faq" id="id1">General Python FAQ</a><ul>
82
 
<li><a class="reference internal" href="#general-information" id="id2">General Information</a><ul>
83
 
<li><a class="reference internal" href="#what-is-python" id="id3">What is Python?</a></li>
84
 
<li><a class="reference internal" href="#what-is-the-python-software-foundation" id="id4">What is the Python Software Foundation?</a></li>
85
 
<li><a class="reference internal" href="#are-there-copyright-restrictions-on-the-use-of-python" id="id5">Are there copyright restrictions on the use of Python?</a></li>
86
 
<li><a class="reference internal" href="#why-was-python-created-in-the-first-place" id="id6">Why was Python created in the first place?</a></li>
87
 
<li><a class="reference internal" href="#what-is-python-good-for" id="id7">What is Python good for?</a></li>
88
 
<li><a class="reference internal" href="#how-does-the-python-version-numbering-scheme-work" id="id8">How does the Python version numbering scheme work?</a></li>
89
 
<li><a class="reference internal" href="#how-do-i-obtain-a-copy-of-the-python-source" id="id9">How do I obtain a copy of the Python source?</a></li>
90
 
<li><a class="reference internal" href="#how-do-i-get-documentation-on-python" id="id10">How do I get documentation on Python?</a></li>
91
 
<li><a class="reference internal" href="#i-ve-never-programmed-before-is-there-a-python-tutorial" id="id11">I&#8217;ve never programmed before. Is there a Python tutorial?</a></li>
92
 
<li><a class="reference internal" href="#is-there-a-newsgroup-or-mailing-list-devoted-to-python" id="id12">Is there a newsgroup or mailing list devoted to Python?</a></li>
93
 
<li><a class="reference internal" href="#how-do-i-get-a-beta-test-version-of-python" id="id13">How do I get a beta test version of Python?</a></li>
94
 
<li><a class="reference internal" href="#how-do-i-submit-bug-reports-and-patches-for-python" id="id14">How do I submit bug reports and patches for Python?</a></li>
95
 
<li><a class="reference internal" href="#are-there-any-published-articles-about-python-that-i-can-reference" id="id15">Are there any published articles about Python that I can reference?</a></li>
96
 
<li><a class="reference internal" href="#are-there-any-books-on-python" id="id16">Are there any books on Python?</a></li>
97
 
<li><a class="reference internal" href="#where-in-the-world-is-www-python-org-located" id="id17">Where in the world is www.python.org located?</a></li>
98
 
<li><a class="reference internal" href="#why-is-it-called-python" id="id18">Why is it called Python?</a></li>
99
 
<li><a class="reference internal" href="#do-i-have-to-like-monty-python-s-flying-circus" id="id19">Do I have to like &#8220;Monty Python&#8217;s Flying Circus&#8221;?</a></li>
100
 
</ul>
101
 
</li>
102
 
<li><a class="reference internal" href="#python-in-the-real-world" id="id20">Python in the real world</a><ul>
103
 
<li><a class="reference internal" href="#how-stable-is-python" id="id21">How stable is Python?</a></li>
104
 
<li><a class="reference internal" href="#how-many-people-are-using-python" id="id22">How many people are using Python?</a></li>
105
 
<li><a class="reference internal" href="#have-any-significant-projects-been-done-in-python" id="id23">Have any significant projects been done in Python?</a></li>
106
 
<li><a class="reference internal" href="#what-new-developments-are-expected-for-python-in-the-future" id="id24">What new developments are expected for Python in the future?</a></li>
107
 
<li><a class="reference internal" href="#is-it-reasonable-to-propose-incompatible-changes-to-python" id="id25">Is it reasonable to propose incompatible changes to Python?</a></li>
108
 
<li><a class="reference internal" href="#is-python-a-good-language-for-beginning-programmers" id="id26">Is Python a good language for beginning programmers?</a></li>
109
 
</ul>
110
 
</li>
111
 
</ul>
112
 
</li>
113
 
</ul>
114
 
</div>
115
 
<div class="section" id="general-information">
116
 
<h2><a class="toc-backref" href="#id2">General Information</a><a class="headerlink" href="#general-information" title="Permalink to this headline">¶</a></h2>
117
 
<div class="section" id="what-is-python">
118
 
<h3><a class="toc-backref" href="#id3">What is Python?</a><a class="headerlink" href="#what-is-python" title="Permalink to this headline">¶</a></h3>
119
 
<p>Python is an interpreted, interactive, object-oriented programming language.  It
120
 
incorporates modules, exceptions, dynamic typing, very high level dynamic data
121
 
types, and classes.  Python combines remarkable power with very clear syntax.
122
 
It has interfaces to many system calls and libraries, as well as to various
123
 
window systems, and is extensible in C or C++.  It is also usable as an
124
 
extension language for applications that need a programmable interface.
125
 
Finally, Python is portable: it runs on many Unix variants, on the Mac, and on
126
 
Windows 2000 and later.</p>
127
 
<p>To find out more, start with <a class="reference internal" href="../tutorial/index.html#tutorial-index"><span>The Python Tutorial</span></a>.  The <a class="reference external" href="https://wiki.python.org/moin/BeginnersGuide">Beginner&#8217;s Guide to
128
 
Python</a> links to other
129
 
introductory tutorials and resources for learning Python.</p>
130
 
</div>
131
 
<div class="section" id="what-is-the-python-software-foundation">
132
 
<h3><a class="toc-backref" href="#id4">What is the Python Software Foundation?</a><a class="headerlink" href="#what-is-the-python-software-foundation" title="Permalink to this headline">¶</a></h3>
133
 
<p>The Python Software Foundation is an independent non-profit organization that
134
 
holds the copyright on Python versions 2.1 and newer.  The PSF&#8217;s mission is to
135
 
advance open source technology related to the Python programming language and to
136
 
publicize the use of Python.  The PSF&#8217;s home page is at
137
 
<a class="reference external" href="https://www.python.org/psf/">https://www.python.org/psf/</a>.</p>
138
 
<p>Donations to the PSF are tax-exempt in the US.  If you use Python and find it
139
 
helpful, please contribute via <a class="reference external" href="https://www.python.org/psf/donations/">the PSF donation page</a>.</p>
140
 
</div>
141
 
<div class="section" id="are-there-copyright-restrictions-on-the-use-of-python">
142
 
<h3><a class="toc-backref" href="#id5">Are there copyright restrictions on the use of Python?</a><a class="headerlink" href="#are-there-copyright-restrictions-on-the-use-of-python" title="Permalink to this headline">¶</a></h3>
143
 
<p>You can do anything you want with the source, as long as you leave the
144
 
copyrights in and display those copyrights in any documentation about Python
145
 
that you produce.  If you honor the copyright rules, it&#8217;s OK to use Python for
146
 
commercial use, to sell copies of Python in source or binary form (modified or
147
 
unmodified), or to sell products that incorporate Python in some form.  We would
148
 
still like to know about all commercial use of Python, of course.</p>
149
 
<p>See <a class="reference external" href="https://www.python.org/psf/license/">the PSF license page</a> to find further
150
 
explanations and a link to the full text of the license.</p>
151
 
<p>The Python logo is trademarked, and in certain cases permission is required to
152
 
use it.  Consult <a class="reference external" href="https://www.python.org/psf/trademarks/">the Trademark Usage Policy</a> for more information.</p>
153
 
</div>
154
 
<div class="section" id="why-was-python-created-in-the-first-place">
155
 
<h3><a class="toc-backref" href="#id6">Why was Python created in the first place?</a><a class="headerlink" href="#why-was-python-created-in-the-first-place" title="Permalink to this headline">¶</a></h3>
156
 
<p>Here&#8217;s a <em>very</em> brief summary of what started it all, written by Guido van
157
 
Rossum:</p>
158
 
<blockquote>
159
 
<div><p>I had extensive experience with implementing an interpreted language in the
160
 
ABC group at CWI, and from working with this group I had learned a lot about
161
 
language design.  This is the origin of many Python features, including the
162
 
use of indentation for statement grouping and the inclusion of
163
 
very-high-level data types (although the details are all different in
164
 
Python).</p>
165
 
<p>I had a number of gripes about the ABC language, but also liked many of its
166
 
features.  It was impossible to extend the ABC language (or its
167
 
implementation) to remedy my complaints &#8211; in fact its lack of extensibility
168
 
was one of its biggest problems.  I had some experience with using Modula-2+
169
 
and talked with the designers of Modula-3 and read the Modula-3 report.
170
 
Modula-3 is the origin of the syntax and semantics used for exceptions, and
171
 
some other Python features.</p>
172
 
<p>I was working in the Amoeba distributed operating system group at CWI.  We
173
 
needed a better way to do system administration than by writing either C
174
 
programs or Bourne shell scripts, since Amoeba had its own system call
175
 
interface which wasn&#8217;t easily accessible from the Bourne shell.  My
176
 
experience with error handling in Amoeba made me acutely aware of the
177
 
importance of exceptions as a programming language feature.</p>
178
 
<p>It occurred to me that a scripting language with a syntax like ABC but with
179
 
access to the Amoeba system calls would fill the need.  I realized that it
180
 
would be foolish to write an Amoeba-specific language, so I decided that I
181
 
needed a language that was generally extensible.</p>
182
 
<p>During the 1989 Christmas holidays, I had a lot of time on my hand, so I
183
 
decided to give it a try.  During the next year, while still mostly working
184
 
on it in my own time, Python was used in the Amoeba project with increasing
185
 
success, and the feedback from colleagues made me add many early
186
 
improvements.</p>
187
 
<p>In February 1991, after just over a year of development, I decided to post to
188
 
USENET.  The rest is in the <code class="docutils literal"><span class="pre">Misc/HISTORY</span></code> file.</p>
189
 
</div></blockquote>
190
 
</div>
191
 
<div class="section" id="what-is-python-good-for">
192
 
<h3><a class="toc-backref" href="#id7">What is Python good for?</a><a class="headerlink" href="#what-is-python-good-for" title="Permalink to this headline">¶</a></h3>
193
 
<p>Python is a high-level general-purpose programming language that can be applied
194
 
to many different classes of problems.</p>
195
 
<p>The language comes with a large standard library that covers areas such as
196
 
string processing (regular expressions, Unicode, calculating differences between
197
 
files), Internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, CGI
198
 
programming), software engineering (unit testing, logging, profiling, parsing
199
 
Python code), and operating system interfaces (system calls, filesystems, TCP/IP
200
 
sockets).  Look at the table of contents for <a class="reference internal" href="../library/index.html#library-index"><span>The Python Standard Library</span></a> to get an idea
201
 
of what&#8217;s available.  A wide variety of third-party extensions are also
202
 
available.  Consult <a class="reference external" href="https://pypi.python.org/pypi">the Python Package Index</a> to
203
 
find packages of interest to you.</p>
204
 
</div>
205
 
<div class="section" id="how-does-the-python-version-numbering-scheme-work">
206
 
<h3><a class="toc-backref" href="#id8">How does the Python version numbering scheme work?</a><a class="headerlink" href="#how-does-the-python-version-numbering-scheme-work" title="Permalink to this headline">¶</a></h3>
207
 
<p>Python versions are numbered A.B.C or A.B.  A is the major version number &#8211; it
208
 
is only incremented for really major changes in the language.  B is the minor
209
 
version number, incremented for less earth-shattering changes.  C is the
210
 
micro-level &#8211; it is incremented for each bugfix release.  See <span class="target" id="index-0"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0006"><strong>PEP 6</strong></a> for more
211
 
information about bugfix releases.</p>
212
 
<p>Not all releases are bugfix releases.  In the run-up to a new major release, a
213
 
series of development releases are made, denoted as alpha, beta, or release
214
 
candidate.  Alphas are early releases in which interfaces aren&#8217;t yet finalized;
215
 
it&#8217;s not unexpected to see an interface change between two alpha releases.
216
 
Betas are more stable, preserving existing interfaces but possibly adding new
217
 
modules, and release candidates are frozen, making no changes except as needed
218
 
to fix critical bugs.</p>
219
 
<p>Alpha, beta and release candidate versions have an additional suffix.  The
220
 
suffix for an alpha version is &#8220;aN&#8221; for some small number N, the suffix for a
221
 
beta version is &#8220;bN&#8221; for some small number N, and the suffix for a release
222
 
candidate version is &#8220;cN&#8221; for some small number N.  In other words, all versions
223
 
labeled 2.0aN precede the versions labeled 2.0bN, which precede versions labeled
224
 
2.0cN, and <em>those</em> precede 2.0.</p>
225
 
<p>You may also find version numbers with a &#8220;+&#8221; suffix, e.g. &#8220;2.2+&#8221;.  These are
226
 
unreleased versions, built directly from the Subversion trunk.  In practice,
227
 
after a final minor release is made, the Subversion trunk is incremented to the
228
 
next minor version, which becomes the &#8220;a0&#8221; version,
229
 
e.g. &#8220;2.4a0&#8221;.</p>
230
 
<p>See also the documentation for <a class="reference internal" href="../library/sys.html#sys.version" title="sys.version"><code class="xref py py-data docutils literal"><span class="pre">sys.version</span></code></a>, <a class="reference internal" href="../library/sys.html#sys.hexversion" title="sys.hexversion"><code class="xref py py-data docutils literal"><span class="pre">sys.hexversion</span></code></a>, and
231
 
<a class="reference internal" href="../library/sys.html#sys.version_info" title="sys.version_info"><code class="xref py py-data docutils literal"><span class="pre">sys.version_info</span></code></a>.</p>
232
 
</div>
233
 
<div class="section" id="how-do-i-obtain-a-copy-of-the-python-source">
234
 
<h3><a class="toc-backref" href="#id9">How do I obtain a copy of the Python source?</a><a class="headerlink" href="#how-do-i-obtain-a-copy-of-the-python-source" title="Permalink to this headline">¶</a></h3>
235
 
<p>The latest Python source distribution is always available from python.org, at
236
 
<a class="reference external" href="https://www.python.org/download/">https://www.python.org/download/</a>.  The latest development sources can be obtained
237
 
via anonymous Mercurial access at <a class="reference external" href="https://hg.python.org/cpython">https://hg.python.org/cpython</a>.</p>
238
 
<p>The source distribution is a gzipped tar file containing the complete C source,
239
 
Sphinx-formatted documentation, Python library modules, example programs, and
240
 
several useful pieces of freely distributable software.  The source will compile
241
 
and run out of the box on most UNIX platforms.</p>
242
 
<p>Consult the <a class="reference external" href="https://docs.python.org/devguide/setup.html">Getting Started section of the Python Developer&#8217;s Guide</a> for more
243
 
information on getting the source code and compiling it.</p>
244
 
</div>
245
 
<div class="section" id="how-do-i-get-documentation-on-python">
246
 
<h3><a class="toc-backref" href="#id10">How do I get documentation on Python?</a><a class="headerlink" href="#how-do-i-get-documentation-on-python" title="Permalink to this headline">¶</a></h3>
247
 
<p>The standard documentation for the current stable version of Python is available
248
 
at <a class="reference external" href="https://docs.python.org/3/">https://docs.python.org/3/</a>.  PDF, plain text, and downloadable HTML versions are
249
 
also available at <a class="reference external" href="https://docs.python.org/3/download.html">https://docs.python.org/3/download.html</a>.</p>
250
 
<p>The documentation is written in reStructuredText and processed by <a class="reference external" href="http://sphinx-doc.org/">the Sphinx
251
 
documentation tool</a>.  The reStructuredText source for
252
 
the documentation is part of the Python source distribution.</p>
253
 
</div>
254
 
<div class="section" id="i-ve-never-programmed-before-is-there-a-python-tutorial">
255
 
<h3><a class="toc-backref" href="#id11">I&#8217;ve never programmed before. Is there a Python tutorial?</a><a class="headerlink" href="#i-ve-never-programmed-before-is-there-a-python-tutorial" title="Permalink to this headline">¶</a></h3>
256
 
<p>There are numerous tutorials and books available.  The standard documentation
257
 
includes <a class="reference internal" href="../tutorial/index.html#tutorial-index"><span>The Python Tutorial</span></a>.</p>
258
 
<p>Consult <a class="reference external" href="https://wiki.python.org/moin/BeginnersGuide">the Beginner&#8217;s Guide</a> to
259
 
find information for beginning Python programmers, including lists of tutorials.</p>
260
 
</div>
261
 
<div class="section" id="is-there-a-newsgroup-or-mailing-list-devoted-to-python">
262
 
<h3><a class="toc-backref" href="#id12">Is there a newsgroup or mailing list devoted to Python?</a><a class="headerlink" href="#is-there-a-newsgroup-or-mailing-list-devoted-to-python" title="Permalink to this headline">¶</a></h3>
263
 
<p>There is a newsgroup, <em class="newsgroup">comp.lang.python</em>, and a mailing list,
264
 
<a class="reference external" href="https://mail.python.org/mailman/listinfo/python-list">python-list</a>.  The
265
 
newsgroup and mailing list are gatewayed into each other &#8211; if you can read news
266
 
it&#8217;s unnecessary to subscribe to the mailing list.
267
 
<em class="newsgroup">comp.lang.python</em> is high-traffic, receiving hundreds of postings
268
 
every day, and Usenet readers are often more able to cope with this volume.</p>
269
 
<p>Announcements of new software releases and events can be found in
270
 
comp.lang.python.announce, a low-traffic moderated list that receives about five
271
 
postings per day.  It&#8217;s available as <a class="reference external" href="https://mail.python.org/mailman/listinfo/python-announce-list">the python-announce mailing list</a>.</p>
272
 
<p>More info about other mailing lists and newsgroups
273
 
can be found at <a class="reference external" href="https://www.python.org/community/lists/">https://www.python.org/community/lists/</a>.</p>
274
 
</div>
275
 
<div class="section" id="how-do-i-get-a-beta-test-version-of-python">
276
 
<h3><a class="toc-backref" href="#id13">How do I get a beta test version of Python?</a><a class="headerlink" href="#how-do-i-get-a-beta-test-version-of-python" title="Permalink to this headline">¶</a></h3>
277
 
<p>Alpha and beta releases are available from <a class="reference external" href="https://www.python.org/download/">https://www.python.org/download/</a>.  All
278
 
releases are announced on the comp.lang.python and comp.lang.python.announce
279
 
newsgroups and on the Python home page at <a class="reference external" href="https://www.python.org/">https://www.python.org/</a>; an RSS feed of
280
 
news is available.</p>
281
 
<p>You can also access the development version of Python through Mercurial.  See
282
 
<a class="reference external" href="https://docs.python.org/devguide/faq.html">https://docs.python.org/devguide/faq.html</a> for details.</p>
283
 
</div>
284
 
<div class="section" id="how-do-i-submit-bug-reports-and-patches-for-python">
285
 
<h3><a class="toc-backref" href="#id14">How do I submit bug reports and patches for Python?</a><a class="headerlink" href="#how-do-i-submit-bug-reports-and-patches-for-python" title="Permalink to this headline">¶</a></h3>
286
 
<p>To report a bug or submit a patch, please use the Roundup installation at
287
 
<a class="reference external" href="https://bugs.python.org/">https://bugs.python.org/</a>.</p>
288
 
<p>You must have a Roundup account to report bugs; this makes it possible for us to
289
 
contact you if we have follow-up questions.  It will also enable Roundup to send
290
 
you updates as we act on your bug. If you had previously used SourceForge to
291
 
report bugs to Python, you can obtain your Roundup password through Roundup&#8217;s
292
 
<a class="reference external" href="https://bugs.python.org/user?&#64;template=forgotten">password reset procedure</a>.</p>
293
 
<p>For more information on how Python is developed, consult <a class="reference external" href="https://docs.python.org/devguide/">the Python Developer&#8217;s
294
 
Guide</a>.</p>
295
 
</div>
296
 
<div class="section" id="are-there-any-published-articles-about-python-that-i-can-reference">
297
 
<h3><a class="toc-backref" href="#id15">Are there any published articles about Python that I can reference?</a><a class="headerlink" href="#are-there-any-published-articles-about-python-that-i-can-reference" title="Permalink to this headline">¶</a></h3>
298
 
<p>It&#8217;s probably best to cite your favorite book about Python.</p>
299
 
<p>The very first article about Python was written in 1991 and is now quite
300
 
outdated.</p>
301
 
<blockquote>
302
 
<div>Guido van Rossum and Jelke de Boer, &#8220;Interactively Testing Remote Servers
303
 
Using the Python Programming Language&#8221;, CWI Quarterly, Volume 4, Issue 4
304
 
(December 1991), Amsterdam, pp 283-303.</div></blockquote>
305
 
</div>
306
 
<div class="section" id="are-there-any-books-on-python">
307
 
<h3><a class="toc-backref" href="#id16">Are there any books on Python?</a><a class="headerlink" href="#are-there-any-books-on-python" title="Permalink to this headline">¶</a></h3>
308
 
<p>Yes, there are many, and more are being published.  See the python.org wiki at
309
 
<a class="reference external" href="https://wiki.python.org/moin/PythonBooks">https://wiki.python.org/moin/PythonBooks</a> for a list.</p>
310
 
<p>You can also search online bookstores for &#8220;Python&#8221; and filter out the Monty
311
 
Python references; or perhaps search for &#8220;Python&#8221; and &#8220;language&#8221;.</p>
312
 
</div>
313
 
<div class="section" id="where-in-the-world-is-www-python-org-located">
314
 
<h3><a class="toc-backref" href="#id17">Where in the world is www.python.org located?</a><a class="headerlink" href="#where-in-the-world-is-www-python-org-located" title="Permalink to this headline">¶</a></h3>
315
 
<p>The Python project&#8217;s infrastructure is located all over the world.
316
 
<a class="reference external" href="https://www.python.org">www.python.org</a> is graciously hosted by <a class="reference external" href="http://www.rackspace.com">Rackspace</a>, with CDN caching provided by <a class="reference external" href="https://www.fastly.com">Fastly</a>.  <a class="reference external" href="http://www.upfrontsystems.co.za">Upfront Systems</a> hosts <a class="reference external" href="https://bugs.python.org">bugs.python.org</a>.  Many other Python services like <a class="reference external" href="https://wiki.python.org">the Wiki</a> are hosted by <a class="reference external" href="https://osuosl.org">Oregon State
317
 
University Open Source Lab</a>.</p>
318
 
</div>
319
 
<div class="section" id="why-is-it-called-python">
320
 
<h3><a class="toc-backref" href="#id18">Why is it called Python?</a><a class="headerlink" href="#why-is-it-called-python" title="Permalink to this headline">¶</a></h3>
321
 
<p>When he began implementing Python, Guido van Rossum was also reading the
322
 
published scripts from <a class="reference external" href="http://en.wikipedia.org/wiki/Monty_Python">&#8220;Monty Python&#8217;s Flying Circus&#8221;</a>, a BBC comedy series from the 1970s.  Van Rossum
323
 
thought he needed a name that was short, unique, and slightly mysterious, so he
324
 
decided to call the language Python.</p>
325
 
</div>
326
 
<div class="section" id="do-i-have-to-like-monty-python-s-flying-circus">
327
 
<h3><a class="toc-backref" href="#id19">Do I have to like &#8220;Monty Python&#8217;s Flying Circus&#8221;?</a><a class="headerlink" href="#do-i-have-to-like-monty-python-s-flying-circus" title="Permalink to this headline">¶</a></h3>
328
 
<p>No, but it helps.  :)</p>
329
 
</div>
330
 
</div>
331
 
<div class="section" id="python-in-the-real-world">
332
 
<h2><a class="toc-backref" href="#id20">Python in the real world</a><a class="headerlink" href="#python-in-the-real-world" title="Permalink to this headline">¶</a></h2>
333
 
<div class="section" id="how-stable-is-python">
334
 
<h3><a class="toc-backref" href="#id21">How stable is Python?</a><a class="headerlink" href="#how-stable-is-python" title="Permalink to this headline">¶</a></h3>
335
 
<p>Very stable.  New, stable releases have been coming out roughly every 6 to 18
336
 
months since 1991, and this seems likely to continue.  Currently there are
337
 
usually around 18 months between major releases.</p>
338
 
<p>The developers issue &#8220;bugfix&#8221; releases of older versions, so the stability of
339
 
existing releases gradually improves.  Bugfix releases, indicated by a third
340
 
component of the version number (e.g. 2.5.3, 2.6.2), are managed for stability;
341
 
only fixes for known problems are included in a bugfix release, and it&#8217;s
342
 
guaranteed that interfaces will remain the same throughout a series of bugfix
343
 
releases.</p>
344
 
<p>The latest stable releases can always be found on the <a class="reference external" href="https://www.python.org/download/">Python download page</a>.  There are two recommended production-ready
345
 
versions at this point in time, because at the moment there are two branches of
346
 
stable releases: 2.x and 3.x.  Python 3.x may be less useful than 2.x, since
347
 
currently there is more third party software available for Python 2 than for
348
 
Python 3.  Python 2 code will generally not run unchanged in Python 3.</p>
349
 
</div>
350
 
<div class="section" id="how-many-people-are-using-python">
351
 
<h3><a class="toc-backref" href="#id22">How many people are using Python?</a><a class="headerlink" href="#how-many-people-are-using-python" title="Permalink to this headline">¶</a></h3>
352
 
<p>There are probably tens of thousands of users, though it&#8217;s difficult to obtain
353
 
an exact count.</p>
354
 
<p>Python is available for free download, so there are no sales figures, and it&#8217;s
355
 
available from many different sites and packaged with many Linux distributions,
356
 
so download statistics don&#8217;t tell the whole story either.</p>
357
 
<p>The comp.lang.python newsgroup is very active, but not all Python users post to
358
 
the group or even read it.</p>
359
 
</div>
360
 
<div class="section" id="have-any-significant-projects-been-done-in-python">
361
 
<h3><a class="toc-backref" href="#id23">Have any significant projects been done in Python?</a><a class="headerlink" href="#have-any-significant-projects-been-done-in-python" title="Permalink to this headline">¶</a></h3>
362
 
<p>See <a class="reference external" href="https://www.python.org/about/success">https://www.python.org/about/success</a> for a list of projects that use Python.
363
 
Consulting the proceedings for <a class="reference external" href="https://www.python.org/community/workshops/">past Python conferences</a> will reveal contributions from many
364
 
different companies and organizations.</p>
365
 
<p>High-profile Python projects include <a class="reference external" href="http://www.list.org">the Mailman mailing list manager</a> and <a class="reference external" href="http://www.zope.org">the Zope application server</a>.  Several Linux distributions, most notably <a class="reference external" href="http://www.redhat.com">Red Hat</a>, have written part or all of their installer and
366
 
system administration software in Python.  Companies that use Python internally
367
 
include Google, Yahoo, and Lucasfilm Ltd.</p>
368
 
</div>
369
 
<div class="section" id="what-new-developments-are-expected-for-python-in-the-future">
370
 
<h3><a class="toc-backref" href="#id24">What new developments are expected for Python in the future?</a><a class="headerlink" href="#what-new-developments-are-expected-for-python-in-the-future" title="Permalink to this headline">¶</a></h3>
371
 
<p>See <a class="reference external" href="https://www.python.org/dev/peps/">https://www.python.org/dev/peps/</a> for the Python Enhancement Proposals
372
 
(PEPs). PEPs are design documents describing a suggested new feature for Python,
373
 
providing a concise technical specification and a rationale.  Look for a PEP
374
 
titled &#8220;Python X.Y Release Schedule&#8221;, where X.Y is a version that hasn&#8217;t been
375
 
publicly released yet.</p>
376
 
<p>New development is discussed on <a class="reference external" href="https://mail.python.org/mailman/listinfo/python-dev/">the python-dev mailing list</a>.</p>
377
 
</div>
378
 
<div class="section" id="is-it-reasonable-to-propose-incompatible-changes-to-python">
379
 
<h3><a class="toc-backref" href="#id25">Is it reasonable to propose incompatible changes to Python?</a><a class="headerlink" href="#is-it-reasonable-to-propose-incompatible-changes-to-python" title="Permalink to this headline">¶</a></h3>
380
 
<p>In general, no.  There are already millions of lines of Python code around the
381
 
world, so any change in the language that invalidates more than a very small
382
 
fraction of existing programs has to be frowned upon.  Even if you can provide a
383
 
conversion program, there&#8217;s still the problem of updating all documentation;
384
 
many books have been written about Python, and we don&#8217;t want to invalidate them
385
 
all at a single stroke.</p>
386
 
<p>Providing a gradual upgrade path is necessary if a feature has to be changed.
387
 
<span class="target" id="index-1"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0005"><strong>PEP 5</strong></a> describes the procedure followed for introducing backward-incompatible
388
 
changes while minimizing disruption for users.</p>
389
 
</div>
390
 
<div class="section" id="is-python-a-good-language-for-beginning-programmers">
391
 
<h3><a class="toc-backref" href="#id26">Is Python a good language for beginning programmers?</a><a class="headerlink" href="#is-python-a-good-language-for-beginning-programmers" title="Permalink to this headline">¶</a></h3>
392
 
<p>Yes.</p>
393
 
<p>It is still common to start students with a procedural and statically typed
394
 
language such as Pascal, C, or a subset of C++ or Java.  Students may be better
395
 
served by learning Python as their first language.  Python has a very simple and
396
 
consistent syntax and a large standard library and, most importantly, using
397
 
Python in a beginning programming course lets students concentrate on important
398
 
programming skills such as problem decomposition and data type design.  With
399
 
Python, students can be quickly introduced to basic concepts such as loops and
400
 
procedures.  They can probably even work with user-defined objects in their very
401
 
first course.</p>
402
 
<p>For a student who has never programmed before, using a statically typed language
403
 
seems unnatural.  It presents additional complexity that the student must master
404
 
and slows the pace of the course.  The students are trying to learn to think
405
 
like a computer, decompose problems, design consistent interfaces, and
406
 
encapsulate data.  While learning to use a statically typed language is
407
 
important in the long term, it is not necessarily the best topic to address in
408
 
the students&#8217; first programming course.</p>
409
 
<p>Many other aspects of Python make it a good first language.  Like Java, Python
410
 
has a large standard library so that students can be assigned programming
411
 
projects very early in the course that <em>do</em> something.  Assignments aren&#8217;t
412
 
restricted to the standard four-function calculator and check balancing
413
 
programs.  By using the standard library, students can gain the satisfaction of
414
 
working on realistic applications as they learn the fundamentals of programming.
415
 
Using the standard library also teaches students about code reuse.  Third-party
416
 
modules such as PyGame are also helpful in extending the students&#8217; reach.</p>
417
 
<p>Python&#8217;s interactive interpreter enables students to test language features
418
 
while they&#8217;re programming.  They can keep a window with the interpreter running
419
 
while they enter their program&#8217;s source in another window.  If they can&#8217;t
420
 
remember the methods for a list, they can do something like this:</p>
421
 
<div class="highlight-python3"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">L</span> <span class="o">=</span> <span class="p">[]</span>
422
 
<span class="gp">&gt;&gt;&gt; </span><span class="nb">dir</span><span class="p">(</span><span class="n">L</span><span class="p">)</span> 
423
 
<span class="go">[&#39;__add__&#39;, &#39;__class__&#39;, &#39;__contains__&#39;, &#39;__delattr__&#39;, &#39;__delitem__&#39;,</span>
424
 
<span class="go">&#39;__dir__&#39;, &#39;__doc__&#39;, &#39;__eq__&#39;, &#39;__format__&#39;, &#39;__ge__&#39;,</span>
425
 
<span class="go">&#39;__getattribute__&#39;, &#39;__getitem__&#39;, &#39;__gt__&#39;, &#39;__hash__&#39;, &#39;__iadd__&#39;,</span>
426
 
<span class="go">&#39;__imul__&#39;, &#39;__init__&#39;, &#39;__iter__&#39;, &#39;__le__&#39;, &#39;__len__&#39;, &#39;__lt__&#39;,</span>
427
 
<span class="go">&#39;__mul__&#39;, &#39;__ne__&#39;, &#39;__new__&#39;, &#39;__reduce__&#39;, &#39;__reduce_ex__&#39;,</span>
428
 
<span class="go">&#39;__repr__&#39;, &#39;__reversed__&#39;, &#39;__rmul__&#39;, &#39;__setattr__&#39;, &#39;__setitem__&#39;,</span>
429
 
<span class="go">&#39;__sizeof__&#39;, &#39;__str__&#39;, &#39;__subclasshook__&#39;, &#39;append&#39;, &#39;clear&#39;,</span>
430
 
<span class="go">&#39;copy&#39;, &#39;count&#39;, &#39;extend&#39;, &#39;index&#39;, &#39;insert&#39;, &#39;pop&#39;, &#39;remove&#39;,</span>
431
 
<span class="go">&#39;reverse&#39;, &#39;sort&#39;]</span>
432
 
<span class="gp">&gt;&gt;&gt; </span><span class="p">[</span><span class="n">d</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="nb">dir</span><span class="p">(</span><span class="n">L</span><span class="p">)</span> <span class="k">if</span> <span class="s1">&#39;__&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">d</span><span class="p">]</span>
433
 
<span class="go">[&#39;append&#39;, &#39;clear&#39;, &#39;copy&#39;, &#39;count&#39;, &#39;extend&#39;, &#39;index&#39;, &#39;insert&#39;, &#39;pop&#39;, &#39;remove&#39;, &#39;reverse&#39;, &#39;sort&#39;]</span>
434
 
 
435
 
<span class="gp">&gt;&gt;&gt; </span><span class="n">help</span><span class="p">(</span><span class="n">L</span><span class="o">.</span><span class="n">append</span><span class="p">)</span>
436
 
<span class="go">Help on built-in function append:</span>
437
 
 
438
 
<span class="go">append(...)</span>
439
 
<span class="go">    L.append(object) -&gt; None -- append object to end</span>
440
 
 
441
 
<span class="gp">&gt;&gt;&gt; </span><span class="n">L</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
442
 
<span class="gp">&gt;&gt;&gt; </span><span class="n">L</span>
443
 
<span class="go">[1]</span>
444
 
</pre></div>
445
 
</div>
446
 
<p>With the interpreter, documentation is never far from the student as he&#8217;s
447
 
programming.</p>
448
 
<p>There are also good IDEs for Python.  IDLE is a cross-platform IDE for Python
449
 
that is written in Python using Tkinter.  PythonWin is a Windows-specific IDE.
450
 
Emacs users will be happy to know that there is a very good Python mode for
451
 
Emacs.  All of these programming environments provide syntax highlighting,
452
 
auto-indenting, and access to the interactive interpreter while coding.  Consult
453
 
<a class="reference external" href="https://wiki.python.org/moin/PythonEditors">the Python wiki</a> for a full list
454
 
of Python editing environments.</p>
455
 
<p>If you want to discuss Python&#8217;s use in education, you may be interested in
456
 
joining <a class="reference external" href="https://www.python.org/community/sigs/current/edu-sig">the edu-sig mailing list</a>.</p>
457
 
</div>
458
 
</div>
459
 
</div>
460
 
 
461
 
 
462
 
          </div>
463
 
        </div>
464
 
      </div>
465
 
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
466
 
        <div class="sphinxsidebarwrapper">
467
 
  <h3><a href="../contents.html">Table Of Contents</a></h3>
468
 
  <ul>
469
 
<li><a class="reference internal" href="#">General Python FAQ</a><ul>
470
 
<li><a class="reference internal" href="#general-information">General Information</a></li>
471
 
<li><a class="reference internal" href="#python-in-the-real-world">Python in the real world</a></li>
472
 
</ul>
473
 
</li>
474
 
</ul>
475
 
 
476
 
  <h4>Previous topic</h4>
477
 
  <p class="topless"><a href="index.html"
478
 
                        title="previous chapter">Python Frequently Asked Questions</a></p>
479
 
  <h4>Next topic</h4>
480
 
  <p class="topless"><a href="programming.html"
481
 
                        title="next chapter">Programming FAQ</a></p>
482
 
<h3>This Page</h3>
483
 
<ul class="this-page-menu">
484
 
  <li><a href="../bugs.html">Report a Bug</a></li>
485
 
  <li><a href="../_sources/faq/general.txt"
486
 
         rel="nofollow">Show Source</a></li>
487
 
</ul>
488
 
 
489
 
<div id="searchbox" style="display: none" role="search">
490
 
  <h3>Quick search</h3>
491
 
    <form class="search" action="../search.html" method="get">
492
 
      <input type="text" name="q" />
493
 
      <input type="submit" value="Go" />
494
 
      <input type="hidden" name="check_keywords" value="yes" />
495
 
      <input type="hidden" name="area" value="default" />
496
 
    </form>
497
 
    <p class="searchtip" style="font-size: 90%">
498
 
    Enter search terms or a module, class or function name.
499
 
    </p>
500
 
</div>
501
 
<script type="text/javascript">$('#searchbox').show(0);</script>
502
 
        </div>
503
 
      </div>
504
 
      <div class="clearer"></div>
505
 
    </div>  
506
 
    <div class="related" role="navigation" aria-label="related navigation">
507
 
      <h3>Navigation</h3>
508
 
      <ul>
509
 
        <li class="right" style="margin-right: 10px">
510
 
          <a href="../genindex.html" title="General Index"
511
 
             >index</a></li>
512
 
        <li class="right" >
513
 
          <a href="../py-modindex.html" title="Python Module Index"
514
 
             >modules</a> |</li>
515
 
        <li class="right" >
516
 
          <a href="programming.html" title="Programming FAQ"
517
 
             >next</a> |</li>
518
 
        <li class="right" >
519
 
          <a href="index.html" title="Python Frequently Asked Questions"
520
 
             >previous</a> |</li>
521
 
        <li><img src="../_static/py.png" alt=""
522
 
                 style="vertical-align: middle; margin-top: -1px"/></li>
523
 
        <li><a href="https://www.python.org/">Python</a> &raquo;</li>
524
 
        <li>
525
 
          <span class="version_switcher_placeholder">3.5.1</span>
526
 
          <a href="../index.html">Documentation </a> &raquo;
527
 
        </li>
528
 
 
529
 
          <li class="nav-item nav-item-1"><a href="index.html" >Python Frequently Asked Questions</a> &raquo;</li> 
530
 
      </ul>
531
 
    </div>  
532
 
    <div class="footer">
533
 
    &copy; <a href="../copyright.html">Copyright</a> 1990-2016, Python Software Foundation.
534
 
    <br />
535
 
    The Python Software Foundation is a non-profit corporation.
536
 
    <a href="https://www.python.org/psf/donations/">Please donate.</a>
537
 
    <br />
538
 
    Last updated on Jan 22, 2016.
539
 
    <a href="../bugs.html">Found a bug</a>?
540
 
    <br />
541
 
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.3.3.
542
 
    </div>
543
 
 
544
 
  </body>
545
 
</html>
 
 
b'\\ No newline at end of file'