general.html 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
  6. <meta property="og:title" content="General Python FAQ" />
  7. <meta property="og:type" content="website" />
  8. <meta property="og:url" content="https://docs.python.org/3/faq/general.html" />
  9. <meta property="og:site_name" content="Python documentation" />
  10. <meta property="og:description" content="Contents: General Python FAQ- General Information- What is Python?, What is the Python Software Foundation?, Are there copyright restrictions on the use of Python?, Why was Python created in the fi..." />
  11. <meta property="og:image" content="https://docs.python.org/3/_static/og-image.png" />
  12. <meta property="og:image:alt" content="Python documentation" />
  13. <meta name="description" content="Contents: General Python FAQ- General Information- What is Python?, What is the Python Software Foundation?, Are there copyright restrictions on the use of Python?, Why was Python created in the fi..." />
  14. <meta property="og:image:width" content="200" />
  15. <meta property="og:image:height" content="200" />
  16. <meta name="theme-color" content="#3776ab" />
  17. <title>General Python FAQ &#8212; Python 3.12.0 documentation</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
  18. <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
  19. <link rel="stylesheet" type="text/css" href="../_static/pydoctheme.css?digest=b37c26da2f7529d09fe70b41c4b2133fe4931a90" />
  20. <link id="pygments_dark_css" media="(prefers-color-scheme: dark)" rel="stylesheet" type="text/css" href="../_static/pygments_dark.css" />
  21. <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
  22. <script src="../_static/jquery.js"></script>
  23. <script src="../_static/underscore.js"></script>
  24. <script src="../_static/doctools.js"></script>
  25. <script src="../_static/sidebar.js"></script>
  26. <link rel="search" type="application/opensearchdescription+xml"
  27. title="Search within Python 3.12.0 documentation"
  28. href="../_static/opensearch.xml"/>
  29. <link rel="author" title="About these documents" href="../about.html" />
  30. <link rel="index" title="Index" href="../genindex.html" />
  31. <link rel="search" title="Search" href="../search.html" />
  32. <link rel="copyright" title="Copyright" href="../copyright.html" />
  33. <link rel="next" title="Programming FAQ" href="programming.html" />
  34. <link rel="prev" title="Python Frequently Asked Questions" href="index.html" />
  35. <link rel="canonical" href="https://docs.python.org/3/faq/general.html" />
  36. <style>
  37. @media only screen {
  38. table.full-width-table {
  39. width: 100%;
  40. }
  41. }
  42. </style>
  43. <link rel="stylesheet" href="../_static/pydoctheme_dark.css" media="(prefers-color-scheme: dark)" id="pydoctheme_dark_css">
  44. <link rel="shortcut icon" type="image/png" href="../_static/py.svg" />
  45. <script type="text/javascript" src="../_static/copybutton.js"></script>
  46. <script type="text/javascript" src="../_static/menu.js"></script>
  47. <script type="text/javascript" src="../_static/themetoggle.js"></script>
  48. </head>
  49. <body>
  50. <div class="mobile-nav">
  51. <input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"
  52. aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu" />
  53. <nav class="nav-content" role="navigation">
  54. <label for="menuToggler" class="toggler__label">
  55. <span></span>
  56. </label>
  57. <span class="nav-items-wrapper">
  58. <a href="https://www.python.org/" class="nav-logo">
  59. <img src="../_static/py.svg" alt="Logo"/>
  60. </a>
  61. <span class="version_switcher_placeholder"></span>
  62. <form role="search" class="search" action="../search.html" method="get">
  63. <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">
  64. <path fill-rule="nonzero" fill="currentColor" d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
  65. </svg>
  66. <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" />
  67. <input type="submit" value="Go"/>
  68. </form>
  69. </span>
  70. </nav>
  71. <div class="menu-wrapper">
  72. <nav class="menu" role="navigation" aria-label="main navigation">
  73. <div class="language_switcher_placeholder"></div>
  74. <label class="theme-selector-label">
  75. Theme
  76. <select class="theme-selector" oninput="activateTheme(this.value)">
  77. <option value="auto" selected>Auto</option>
  78. <option value="light">Light</option>
  79. <option value="dark">Dark</option>
  80. </select>
  81. </label>
  82. <div>
  83. <h3><a href="../contents.html">Table of Contents</a></h3>
  84. <ul>
  85. <li><a class="reference internal" href="#">General Python FAQ</a><ul>
  86. <li><a class="reference internal" href="#general-information">General Information</a></li>
  87. <li><a class="reference internal" href="#python-in-the-real-world">Python in the real world</a></li>
  88. </ul>
  89. </li>
  90. </ul>
  91. </div>
  92. <div>
  93. <h4>Previous topic</h4>
  94. <p class="topless"><a href="index.html"
  95. title="previous chapter">Python Frequently Asked Questions</a></p>
  96. </div>
  97. <div>
  98. <h4>Next topic</h4>
  99. <p class="topless"><a href="programming.html"
  100. title="next chapter">Programming FAQ</a></p>
  101. </div>
  102. <div role="note" aria-label="source link">
  103. <h3>This Page</h3>
  104. <ul class="this-page-menu">
  105. <li><a href="../bugs.html">Report a Bug</a></li>
  106. <li>
  107. <a href="https://github.com/python/cpython/blob/main/Doc/faq/general.rst"
  108. rel="nofollow">Show Source
  109. </a>
  110. </li>
  111. </ul>
  112. </div>
  113. </nav>
  114. </div>
  115. </div>
  116. <div class="related" role="navigation" aria-label="related navigation">
  117. <h3>Navigation</h3>
  118. <ul>
  119. <li class="right" style="margin-right: 10px">
  120. <a href="../genindex.html" title="General Index"
  121. accesskey="I">index</a></li>
  122. <li class="right" >
  123. <a href="../py-modindex.html" title="Python Module Index"
  124. >modules</a> |</li>
  125. <li class="right" >
  126. <a href="programming.html" title="Programming FAQ"
  127. accesskey="N">next</a> |</li>
  128. <li class="right" >
  129. <a href="index.html" title="Python Frequently Asked Questions"
  130. accesskey="P">previous</a> |</li>
  131. <li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
  132. <li><a href="https://www.python.org/">Python</a> &#187;</li>
  133. <li class="switchers">
  134. <div class="language_switcher_placeholder"></div>
  135. <div class="version_switcher_placeholder"></div>
  136. </li>
  137. <li>
  138. </li>
  139. <li id="cpython-language-and-version">
  140. <a href="../index.html">3.12.0 Documentation</a> &#187;
  141. </li>
  142. <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Python Frequently Asked Questions</a> &#187;</li>
  143. <li class="nav-item nav-item-this"><a href="">General Python FAQ</a></li>
  144. <li class="right">
  145. <div class="inline-search" role="search">
  146. <form class="inline-search" action="../search.html" method="get">
  147. <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" />
  148. <input type="submit" value="Go" />
  149. </form>
  150. </div>
  151. |
  152. </li>
  153. <li class="right">
  154. <label class="theme-selector-label">
  155. Theme
  156. <select class="theme-selector" oninput="activateTheme(this.value)">
  157. <option value="auto" selected>Auto</option>
  158. <option value="light">Light</option>
  159. <option value="dark">Dark</option>
  160. </select>
  161. </label> |</li>
  162. </ul>
  163. </div>
  164. <div class="document">
  165. <div class="documentwrapper">
  166. <div class="bodywrapper">
  167. <div class="body" role="main">
  168. <section id="general-python-faq">
  169. <h1><a class="toc-backref" href="#id2">General Python FAQ</a><a class="headerlink" href="#general-python-faq" title="Permalink to this headline">¶</a></h1>
  170. <div class="contents topic" id="contents">
  171. <p class="topic-title">Contents</p>
  172. <ul class="simple">
  173. <li><p><a class="reference internal" href="#general-python-faq" id="id2">General Python FAQ</a></p>
  174. <ul>
  175. <li><p><a class="reference internal" href="#general-information" id="id3">General Information</a></p>
  176. <ul>
  177. <li><p><a class="reference internal" href="#what-is-python" id="id4">What is Python?</a></p></li>
  178. <li><p><a class="reference internal" href="#what-is-the-python-software-foundation" id="id5">What is the Python Software Foundation?</a></p></li>
  179. <li><p><a class="reference internal" href="#are-there-copyright-restrictions-on-the-use-of-python" id="id6">Are there copyright restrictions on the use of Python?</a></p></li>
  180. <li><p><a class="reference internal" href="#why-was-python-created-in-the-first-place" id="id7">Why was Python created in the first place?</a></p></li>
  181. <li><p><a class="reference internal" href="#what-is-python-good-for" id="id8">What is Python good for?</a></p></li>
  182. <li><p><a class="reference internal" href="#how-does-the-python-version-numbering-scheme-work" id="id9">How does the Python version numbering scheme work?</a></p></li>
  183. <li><p><a class="reference internal" href="#how-do-i-obtain-a-copy-of-the-python-source" id="id10">How do I obtain a copy of the Python source?</a></p></li>
  184. <li><p><a class="reference internal" href="#how-do-i-get-documentation-on-python" id="id11">How do I get documentation on Python?</a></p></li>
  185. <li><p><a class="reference internal" href="#i-ve-never-programmed-before-is-there-a-python-tutorial" id="id12">I’ve never programmed before. Is there a Python tutorial?</a></p></li>
  186. <li><p><a class="reference internal" href="#is-there-a-newsgroup-or-mailing-list-devoted-to-python" id="id13">Is there a newsgroup or mailing list devoted to Python?</a></p></li>
  187. <li><p><a class="reference internal" href="#how-do-i-get-a-beta-test-version-of-python" id="id14">How do I get a beta test version of Python?</a></p></li>
  188. <li><p><a class="reference internal" href="#how-do-i-submit-bug-reports-and-patches-for-python" id="id15">How do I submit bug reports and patches for Python?</a></p></li>
  189. <li><p><a class="reference internal" href="#are-there-any-published-articles-about-python-that-i-can-reference" id="id16">Are there any published articles about Python that I can reference?</a></p></li>
  190. <li><p><a class="reference internal" href="#are-there-any-books-on-python" id="id17">Are there any books on Python?</a></p></li>
  191. <li><p><a class="reference internal" href="#where-in-the-world-is-www-python-org-located" id="id18">Where in the world is www.python.org located?</a></p></li>
  192. <li><p><a class="reference internal" href="#why-is-it-called-python" id="id19">Why is it called Python?</a></p></li>
  193. <li><p><a class="reference internal" href="#do-i-have-to-like-monty-python-s-flying-circus" id="id20">Do I have to like “Monty Python’s Flying Circus”?</a></p></li>
  194. </ul>
  195. </li>
  196. <li><p><a class="reference internal" href="#python-in-the-real-world" id="id21">Python in the real world</a></p>
  197. <ul>
  198. <li><p><a class="reference internal" href="#how-stable-is-python" id="id22">How stable is Python?</a></p></li>
  199. <li><p><a class="reference internal" href="#how-many-people-are-using-python" id="id23">How many people are using Python?</a></p></li>
  200. <li><p><a class="reference internal" href="#have-any-significant-projects-been-done-in-python" id="id24">Have any significant projects been done in Python?</a></p></li>
  201. <li><p><a class="reference internal" href="#what-new-developments-are-expected-for-python-in-the-future" id="id25">What new developments are expected for Python in the future?</a></p></li>
  202. <li><p><a class="reference internal" href="#is-it-reasonable-to-propose-incompatible-changes-to-python" id="id26">Is it reasonable to propose incompatible changes to Python?</a></p></li>
  203. <li><p><a class="reference internal" href="#is-python-a-good-language-for-beginning-programmers" id="id27">Is Python a good language for beginning programmers?</a></p></li>
  204. </ul>
  205. </li>
  206. </ul>
  207. </li>
  208. </ul>
  209. </div>
  210. <section id="general-information">
  211. <h2><a class="toc-backref" href="#id3">General Information</a><a class="headerlink" href="#general-information" title="Permalink to this headline">¶</a></h2>
  212. <section id="what-is-python">
  213. <h3><a class="toc-backref" href="#id4">What is Python?</a><a class="headerlink" href="#what-is-python" title="Permalink to this headline">¶</a></h3>
  214. <p>Python is an interpreted, interactive, object-oriented programming language. It
  215. incorporates modules, exceptions, dynamic typing, very high level dynamic data
  216. types, and classes. It supports multiple programming paradigms beyond
  217. object-oriented programming, such as procedural and functional programming.
  218. Python combines remarkable power with very clear syntax. It has interfaces to
  219. many system calls and libraries, as well as to various window systems, and is
  220. extensible in C or C++. It is also usable as an extension language for
  221. applications that need a programmable interface. Finally, Python is portable:
  222. it runs on many Unix variants including Linux and macOS, and on Windows.</p>
  223. <p>To find out more, start with <a class="reference internal" href="../tutorial/index.html#tutorial-index"><span class="std std-ref">The Python Tutorial</span></a>. The <a class="reference external" href="https://wiki.python.org/moin/BeginnersGuide">Beginner’s Guide to
  224. Python</a> links to other
  225. introductory tutorials and resources for learning Python.</p>
  226. </section>
  227. <section id="what-is-the-python-software-foundation">
  228. <h3><a class="toc-backref" href="#id5">What is the Python Software Foundation?</a><a class="headerlink" href="#what-is-the-python-software-foundation" title="Permalink to this headline">¶</a></h3>
  229. <p>The Python Software Foundation is an independent non-profit organization that
  230. holds the copyright on Python versions 2.1 and newer. The PSF’s mission is to
  231. advance open source technology related to the Python programming language and to
  232. publicize the use of Python. The PSF’s home page is at
  233. <a class="reference external" href="https://www.python.org/psf/">https://www.python.org/psf/</a>.</p>
  234. <p>Donations to the PSF are tax-exempt in the US. If you use Python and find it
  235. helpful, please contribute via <a class="reference external" href="https://www.python.org/psf/donations/">the PSF donation page</a>.</p>
  236. </section>
  237. <section id="are-there-copyright-restrictions-on-the-use-of-python">
  238. <h3><a class="toc-backref" href="#id6">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>
  239. <p>You can do anything you want with the source, as long as you leave the
  240. copyrights in and display those copyrights in any documentation about Python
  241. that you produce. If you honor the copyright rules, it’s OK to use Python for
  242. commercial use, to sell copies of Python in source or binary form (modified or
  243. unmodified), or to sell products that incorporate Python in some form. We would
  244. still like to know about all commercial use of Python, of course.</p>
  245. <p>See <a class="reference external" href="https://docs.python.org/3/license.html">the license page</a> to find further
  246. explanations and the full text of the PSF License.</p>
  247. <p>The Python logo is trademarked, and in certain cases permission is required to
  248. use it. Consult <a class="reference external" href="https://www.python.org/psf/trademarks/">the Trademark Usage Policy</a> for more information.</p>
  249. </section>
  250. <section id="why-was-python-created-in-the-first-place">
  251. <h3><a class="toc-backref" href="#id7">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>
  252. <p>Here’s a <em>very</em> brief summary of what started it all, written by Guido van
  253. Rossum:</p>
  254. <blockquote>
  255. <div><p>I had extensive experience with implementing an interpreted language in the
  256. ABC group at CWI, and from working with this group I had learned a lot about
  257. language design. This is the origin of many Python features, including the
  258. use of indentation for statement grouping and the inclusion of
  259. very-high-level data types (although the details are all different in
  260. Python).</p>
  261. <p>I had a number of gripes about the ABC language, but also liked many of its
  262. features. It was impossible to extend the ABC language (or its
  263. implementation) to remedy my complaints – in fact its lack of extensibility
  264. was one of its biggest problems. I had some experience with using Modula-2+
  265. and talked with the designers of Modula-3 and read the Modula-3 report.
  266. Modula-3 is the origin of the syntax and semantics used for exceptions, and
  267. some other Python features.</p>
  268. <p>I was working in the Amoeba distributed operating system group at CWI. We
  269. needed a better way to do system administration than by writing either C
  270. programs or Bourne shell scripts, since Amoeba had its own system call
  271. interface which wasn’t easily accessible from the Bourne shell. My
  272. experience with error handling in Amoeba made me acutely aware of the
  273. importance of exceptions as a programming language feature.</p>
  274. <p>It occurred to me that a scripting language with a syntax like ABC but with
  275. access to the Amoeba system calls would fill the need. I realized that it
  276. would be foolish to write an Amoeba-specific language, so I decided that I
  277. needed a language that was generally extensible.</p>
  278. <p>During the 1989 Christmas holidays, I had a lot of time on my hand, so I
  279. decided to give it a try. During the next year, while still mostly working
  280. on it in my own time, Python was used in the Amoeba project with increasing
  281. success, and the feedback from colleagues made me add many early
  282. improvements.</p>
  283. <p>In February 1991, after just over a year of development, I decided to post to
  284. USENET. The rest is in the <code class="docutils literal notranslate"><span class="pre">Misc/HISTORY</span></code> file.</p>
  285. </div></blockquote>
  286. </section>
  287. <section id="what-is-python-good-for">
  288. <h3><a class="toc-backref" href="#id8">What is Python good for?</a><a class="headerlink" href="#what-is-python-good-for" title="Permalink to this headline">¶</a></h3>
  289. <p>Python is a high-level general-purpose programming language that can be applied
  290. to many different classes of problems.</p>
  291. <p>The language comes with a large standard library that covers areas such as
  292. string processing (regular expressions, Unicode, calculating differences between
  293. files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP),
  294. software engineering (unit testing, logging, profiling, parsing
  295. Python code), and operating system interfaces (system calls, filesystems, TCP/IP
  296. sockets). Look at the table of contents for <a class="reference internal" href="../library/index.html#library-index"><span class="std std-ref">The Python Standard Library</span></a> to get an idea
  297. of what’s available. A wide variety of third-party extensions are also
  298. available. Consult <a class="reference external" href="https://pypi.org">the Python Package Index</a> to
  299. find packages of interest to you.</p>
  300. </section>
  301. <section id="how-does-the-python-version-numbering-scheme-work">
  302. <h3><a class="toc-backref" href="#id9">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>
  303. <p>Python versions are numbered “A.B.C” or “A.B”:</p>
  304. <ul class="simple">
  305. <li><p><em>A</em> is the major version number – it is only incremented for really major
  306. changes in the language.</p></li>
  307. <li><p><em>B</em> is the minor version number – it is incremented for less earth-shattering
  308. changes.</p></li>
  309. <li><p><em>C</em> is the micro version number – it is incremented for each bugfix release.</p></li>
  310. </ul>
  311. <p>See <span class="target" id="index-0"></span><a class="pep reference external" href="https://peps.python.org/pep-0006/"><strong>PEP 6</strong></a> for more information about bugfix releases.</p>
  312. <p>Not all releases are bugfix releases. In the run-up to a new feature release, a
  313. series of development releases are made, denoted as alpha, beta, or release
  314. candidate. Alphas are early releases in which interfaces aren’t yet finalized;
  315. it’s not unexpected to see an interface change between two alpha releases.
  316. Betas are more stable, preserving existing interfaces but possibly adding new
  317. modules, and release candidates are frozen, making no changes except as needed
  318. to fix critical bugs.</p>
  319. <p>Alpha, beta and release candidate versions have an additional suffix:</p>
  320. <ul class="simple">
  321. <li><p>The suffix for an alpha version is “aN” for some small number <em>N</em>.</p></li>
  322. <li><p>The suffix for a beta version is “bN” for some small number <em>N</em>.</p></li>
  323. <li><p>The suffix for a release candidate version is “rcN” for some small number <em>N</em>.</p></li>
  324. </ul>
  325. <p>In other words, all versions labeled <em>2.0aN</em> precede the versions labeled
  326. <em>2.0bN</em>, which precede versions labeled <em>2.0rcN</em>, and <em>those</em> precede 2.0.</p>
  327. <p>You may also find version numbers with a “+” suffix, e.g. “2.2+”. These are
  328. unreleased versions, built directly from the CPython development repository. In
  329. practice, after a final minor release is made, the version is incremented to the
  330. next minor version, which becomes the “a0” version, e.g. “2.4a0”.</p>
  331. <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 notranslate"><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 notranslate"><span class="pre">sys.hexversion</span></code></a>, and
  332. <a class="reference internal" href="../library/sys.html#sys.version_info" title="sys.version_info"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.version_info</span></code></a>.</p>
  333. </section>
  334. <section id="how-do-i-obtain-a-copy-of-the-python-source">
  335. <h3><a class="toc-backref" href="#id10">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>
  336. <p>The latest Python source distribution is always available from python.org, at
  337. <a class="reference external" href="https://www.python.org/downloads/">https://www.python.org/downloads/</a>. The latest development sources can be obtained
  338. at <a class="reference external" href="https://github.com/python/cpython/">https://github.com/python/cpython/</a>.</p>
  339. <p>The source distribution is a gzipped tar file containing the complete C source,
  340. Sphinx-formatted documentation, Python library modules, example programs, and
  341. several useful pieces of freely distributable software. The source will compile
  342. and run out of the box on most UNIX platforms.</p>
  343. <p>Consult the <a class="reference external" href="https://devguide.python.org/setup/">Getting Started section of the Python Developer’s Guide</a> for more
  344. information on getting the source code and compiling it.</p>
  345. </section>
  346. <section id="how-do-i-get-documentation-on-python">
  347. <h3><a class="toc-backref" href="#id11">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>
  348. <p>The standard documentation for the current stable version of Python is available
  349. 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
  350. also available at <a class="reference external" href="https://docs.python.org/3/download.html">https://docs.python.org/3/download.html</a>.</p>
  351. <p>The documentation is written in reStructuredText and processed by <a class="reference external" href="https://www.sphinx-doc.org/">the Sphinx
  352. documentation tool</a>. The reStructuredText source for
  353. the documentation is part of the Python source distribution.</p>
  354. </section>
  355. <section id="i-ve-never-programmed-before-is-there-a-python-tutorial">
  356. <h3><a class="toc-backref" href="#id12">I’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>
  357. <p>There are numerous tutorials and books available. The standard documentation
  358. includes <a class="reference internal" href="../tutorial/index.html#tutorial-index"><span class="std std-ref">The Python Tutorial</span></a>.</p>
  359. <p>Consult <a class="reference external" href="https://wiki.python.org/moin/BeginnersGuide">the Beginner’s Guide</a> to
  360. find information for beginning Python programmers, including lists of tutorials.</p>
  361. </section>
  362. <section id="is-there-a-newsgroup-or-mailing-list-devoted-to-python">
  363. <h3><a class="toc-backref" href="#id13">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>
  364. <p>There is a newsgroup, <em class="newsgroup">comp.lang.python</em>, and a mailing list,
  365. <a class="reference external" href="https://mail.python.org/mailman/listinfo/python-list">python-list</a>. The
  366. newsgroup and mailing list are gatewayed into each other – if you can read news
  367. it’s unnecessary to subscribe to the mailing list.
  368. <em class="newsgroup">comp.lang.python</em> is high-traffic, receiving hundreds of postings
  369. every day, and Usenet readers are often more able to cope with this volume.</p>
  370. <p>Announcements of new software releases and events can be found in
  371. comp.lang.python.announce, a low-traffic moderated list that receives about five
  372. postings per day. It’s available as <a class="reference external" href="https://mail.python.org/mailman3/lists/python-announce-list.python.org/">the python-announce mailing list</a>.</p>
  373. <p>More info about other mailing lists and newsgroups
  374. can be found at <a class="reference external" href="https://www.python.org/community/lists/">https://www.python.org/community/lists/</a>.</p>
  375. </section>
  376. <section id="how-do-i-get-a-beta-test-version-of-python">
  377. <h3><a class="toc-backref" href="#id14">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>
  378. <p>Alpha and beta releases are available from <a class="reference external" href="https://www.python.org/downloads/">https://www.python.org/downloads/</a>. All
  379. releases are announced on the comp.lang.python and comp.lang.python.announce
  380. 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
  381. news is available.</p>
  382. <p>You can also access the development version of Python through Git. See
  383. <a class="reference external" href="https://devguide.python.org/">The Python Developer’s Guide</a> for details.</p>
  384. </section>
  385. <section id="how-do-i-submit-bug-reports-and-patches-for-python">
  386. <h3><a class="toc-backref" href="#id15">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>
  387. <p>To report a bug or submit a patch, use the issue tracker at
  388. <a class="reference external" href="https://github.com/python/cpython/issues">https://github.com/python/cpython/issues</a>.</p>
  389. <p>For more information on how Python is developed, consult <a class="reference external" href="https://devguide.python.org/">the Python Developer’s
  390. Guide</a>.</p>
  391. </section>
  392. <section id="are-there-any-published-articles-about-python-that-i-can-reference">
  393. <h3><a class="toc-backref" href="#id16">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>
  394. <p>It’s probably best to cite your favorite book about Python.</p>
  395. <p>The <a class="reference external" href="https://ir.cwi.nl/pub/18204">very first article</a> about Python was
  396. written in 1991 and is now quite outdated.</p>
  397. <blockquote>
  398. <div><p>Guido van Rossum and Jelke de Boer, “Interactively Testing Remote Servers
  399. Using the Python Programming Language”, CWI Quarterly, Volume 4, Issue 4
  400. (December 1991), Amsterdam, pp 283–303.</p>
  401. </div></blockquote>
  402. </section>
  403. <section id="are-there-any-books-on-python">
  404. <h3><a class="toc-backref" href="#id17">Are there any books on Python?</a><a class="headerlink" href="#are-there-any-books-on-python" title="Permalink to this headline">¶</a></h3>
  405. <p>Yes, there are many, and more are being published. See the python.org wiki at
  406. <a class="reference external" href="https://wiki.python.org/moin/PythonBooks">https://wiki.python.org/moin/PythonBooks</a> for a list.</p>
  407. <p>You can also search online bookstores for “Python” and filter out the Monty
  408. Python references; or perhaps search for “Python” and “language”.</p>
  409. </section>
  410. <section id="where-in-the-world-is-www-python-org-located">
  411. <h3><a class="toc-backref" href="#id18">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>
  412. <p>The Python project’s infrastructure is located all over the world and is managed
  413. by the Python Infrastructure Team. Details <a class="reference external" href="https://infra.psf.io">here</a>.</p>
  414. </section>
  415. <section id="why-is-it-called-python">
  416. <h3><a class="toc-backref" href="#id19">Why is it called Python?</a><a class="headerlink" href="#why-is-it-called-python" title="Permalink to this headline">¶</a></h3>
  417. <p>When he began implementing Python, Guido van Rossum was also reading the
  418. published scripts from <a class="reference external" href="https://en.wikipedia.org/wiki/Monty_Python">“Monty Python’s Flying Circus”</a>, a BBC comedy series from the 1970s. Van Rossum
  419. thought he needed a name that was short, unique, and slightly mysterious, so he
  420. decided to call the language Python.</p>
  421. </section>
  422. <section id="do-i-have-to-like-monty-python-s-flying-circus">
  423. <h3><a class="toc-backref" href="#id20">Do I have to like “Monty Python’s Flying Circus”?</a><a class="headerlink" href="#do-i-have-to-like-monty-python-s-flying-circus" title="Permalink to this headline">¶</a></h3>
  424. <p>No, but it helps. :)</p>
  425. </section>
  426. </section>
  427. <section id="python-in-the-real-world">
  428. <h2><a class="toc-backref" href="#id21">Python in the real world</a><a class="headerlink" href="#python-in-the-real-world" title="Permalink to this headline">¶</a></h2>
  429. <section id="how-stable-is-python">
  430. <h3><a class="toc-backref" href="#id22">How stable is Python?</a><a class="headerlink" href="#how-stable-is-python" title="Permalink to this headline">¶</a></h3>
  431. <p>Very stable. New, stable releases have been coming out roughly every 6 to 18
  432. months since 1991, and this seems likely to continue. As of version 3.9,
  433. Python will have a new feature release every 12 months (<span class="target" id="index-1"></span><a class="pep reference external" href="https://peps.python.org/pep-0602/"><strong>PEP 602</strong></a>).</p>
  434. <p>The developers issue bugfix releases of older versions, so the stability of
  435. existing releases gradually improves. Bugfix releases, indicated by a third
  436. component of the version number (e.g. 3.5.3, 3.6.2), are managed for stability;
  437. only fixes for known problems are included in a bugfix release, and it’s
  438. guaranteed that interfaces will remain the same throughout a series of bugfix
  439. releases.</p>
  440. <p>The latest stable releases can always be found on the <a class="reference external" href="https://www.python.org/downloads/">Python download page</a>. There are two production-ready versions
  441. of Python: 2.x and 3.x. The recommended version is 3.x, which is supported by
  442. most widely used libraries. Although 2.x is still widely used, <a class="reference external" href="https://peps.python.org/pep-0373/">it is not
  443. maintained anymore</a>.</p>
  444. </section>
  445. <section id="how-many-people-are-using-python">
  446. <h3><a class="toc-backref" href="#id23">How many people are using Python?</a><a class="headerlink" href="#how-many-people-are-using-python" title="Permalink to this headline">¶</a></h3>
  447. <p>There are probably millions of users, though it’s difficult to obtain an exact
  448. count.</p>
  449. <p>Python is available for free download, so there are no sales figures, and it’s
  450. available from many different sites and packaged with many Linux distributions,
  451. so download statistics don’t tell the whole story either.</p>
  452. <p>The comp.lang.python newsgroup is very active, but not all Python users post to
  453. the group or even read it.</p>
  454. </section>
  455. <section id="have-any-significant-projects-been-done-in-python">
  456. <h3><a class="toc-backref" href="#id24">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>
  457. <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.
  458. Consulting the proceedings for <a class="reference external" href="https://www.python.org/community/workshops/">past Python conferences</a> will reveal contributions from many
  459. different companies and organizations.</p>
  460. <p>High-profile Python projects include <a class="reference external" href="https://www.list.org">the Mailman mailing list manager</a> and <a class="reference external" href="https://www.zope.dev">the Zope application server</a>. Several Linux distributions, most notably <a class="reference external" href="https://www.redhat.com">Red Hat</a>, have written part or all of their installer and
  461. system administration software in Python. Companies that use Python internally
  462. include Google, Yahoo, and Lucasfilm Ltd.</p>
  463. </section>
  464. <section id="what-new-developments-are-expected-for-python-in-the-future">
  465. <h3><a class="toc-backref" href="#id25">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>
  466. <p>See <a class="reference external" href="https://peps.python.org/">https://peps.python.org/</a> for the Python Enhancement Proposals
  467. (PEPs). PEPs are design documents describing a suggested new feature for Python,
  468. providing a concise technical specification and a rationale. Look for a PEP
  469. titled “Python X.Y Release Schedule”, where X.Y is a version that hasn’t been
  470. publicly released yet.</p>
  471. <p>New development is discussed on <a class="reference external" href="https://mail.python.org/mailman3/lists/python-dev.python.org/">the python-dev mailing list</a>.</p>
  472. </section>
  473. <section id="is-it-reasonable-to-propose-incompatible-changes-to-python">
  474. <h3><a class="toc-backref" href="#id26">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>
  475. <p>In general, no. There are already millions of lines of Python code around the
  476. world, so any change in the language that invalidates more than a very small
  477. fraction of existing programs has to be frowned upon. Even if you can provide a
  478. conversion program, there’s still the problem of updating all documentation;
  479. many books have been written about Python, and we don’t want to invalidate them
  480. all at a single stroke.</p>
  481. <p>Providing a gradual upgrade path is necessary if a feature has to be changed.
  482. <span class="target" id="index-2"></span><a class="pep reference external" href="https://peps.python.org/pep-0005/"><strong>PEP 5</strong></a> describes the procedure followed for introducing backward-incompatible
  483. changes while minimizing disruption for users.</p>
  484. </section>
  485. <section id="is-python-a-good-language-for-beginning-programmers">
  486. <h3><a class="toc-backref" href="#id27">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>
  487. <p>Yes.</p>
  488. <p>It is still common to start students with a procedural and statically typed
  489. language such as Pascal, C, or a subset of C++ or Java. Students may be better
  490. served by learning Python as their first language. Python has a very simple and
  491. consistent syntax and a large standard library and, most importantly, using
  492. Python in a beginning programming course lets students concentrate on important
  493. programming skills such as problem decomposition and data type design. With
  494. Python, students can be quickly introduced to basic concepts such as loops and
  495. procedures. They can probably even work with user-defined objects in their very
  496. first course.</p>
  497. <p>For a student who has never programmed before, using a statically typed language
  498. seems unnatural. It presents additional complexity that the student must master
  499. and slows the pace of the course. The students are trying to learn to think
  500. like a computer, decompose problems, design consistent interfaces, and
  501. encapsulate data. While learning to use a statically typed language is
  502. important in the long term, it is not necessarily the best topic to address in
  503. the students’ first programming course.</p>
  504. <p>Many other aspects of Python make it a good first language. Like Java, Python
  505. has a large standard library so that students can be assigned programming
  506. projects very early in the course that <em>do</em> something. Assignments aren’t
  507. restricted to the standard four-function calculator and check balancing
  508. programs. By using the standard library, students can gain the satisfaction of
  509. working on realistic applications as they learn the fundamentals of programming.
  510. Using the standard library also teaches students about code reuse. Third-party
  511. modules such as PyGame are also helpful in extending the students’ reach.</p>
  512. <p>Python’s interactive interpreter enables students to test language features
  513. while they’re programming. They can keep a window with the interpreter running
  514. while they enter their program’s source in another window. If they can’t
  515. remember the methods for a list, they can do something like this:</p>
  516. <div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">L</span> <span class="o">=</span> <span class="p">[]</span>
  517. <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>
  518. <span class="go">[&#39;__add__&#39;, &#39;__class__&#39;, &#39;__contains__&#39;, &#39;__delattr__&#39;, &#39;__delitem__&#39;,</span>
  519. <span class="go">&#39;__dir__&#39;, &#39;__doc__&#39;, &#39;__eq__&#39;, &#39;__format__&#39;, &#39;__ge__&#39;,</span>
  520. <span class="go">&#39;__getattribute__&#39;, &#39;__getitem__&#39;, &#39;__gt__&#39;, &#39;__hash__&#39;, &#39;__iadd__&#39;,</span>
  521. <span class="go">&#39;__imul__&#39;, &#39;__init__&#39;, &#39;__iter__&#39;, &#39;__le__&#39;, &#39;__len__&#39;, &#39;__lt__&#39;,</span>
  522. <span class="go">&#39;__mul__&#39;, &#39;__ne__&#39;, &#39;__new__&#39;, &#39;__reduce__&#39;, &#39;__reduce_ex__&#39;,</span>
  523. <span class="go">&#39;__repr__&#39;, &#39;__reversed__&#39;, &#39;__rmul__&#39;, &#39;__setattr__&#39;, &#39;__setitem__&#39;,</span>
  524. <span class="go">&#39;__sizeof__&#39;, &#39;__str__&#39;, &#39;__subclasshook__&#39;, &#39;append&#39;, &#39;clear&#39;,</span>
  525. <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>
  526. <span class="go">&#39;reverse&#39;, &#39;sort&#39;]</span>
  527. <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>
  528. <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>
  529. <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>
  530. <span class="go">Help on built-in function append:</span>
  531. <span class="go">append(...)</span>
  532. <span class="go"> L.append(object) -&gt; None -- append object to end</span>
  533. <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>
  534. <span class="gp">&gt;&gt;&gt; </span><span class="n">L</span>
  535. <span class="go">[1]</span>
  536. </pre></div>
  537. </div>
  538. <p>With the interpreter, documentation is never far from the student as they are
  539. programming.</p>
  540. <p>There are also good IDEs for Python. IDLE is a cross-platform IDE for Python
  541. that is written in Python using Tkinter.
  542. Emacs users will be happy to know that there is a very good Python mode for
  543. Emacs. All of these programming environments provide syntax highlighting,
  544. auto-indenting, and access to the interactive interpreter while coding. Consult
  545. <a class="reference external" href="https://wiki.python.org/moin/PythonEditors">the Python wiki</a> for a full list
  546. of Python editing environments.</p>
  547. <p>If you want to discuss Python’s use in education, you may be interested in
  548. joining <a class="reference external" href="https://www.python.org/community/sigs/current/edu-sig">the edu-sig mailing list</a>.</p>
  549. </section>
  550. </section>
  551. </section>
  552. <div class="clearer"></div>
  553. </div>
  554. </div>
  555. </div>
  556. <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
  557. <div class="sphinxsidebarwrapper">
  558. <div>
  559. <h3><a href="../contents.html">Table of Contents</a></h3>
  560. <ul>
  561. <li><a class="reference internal" href="#">General Python FAQ</a><ul>
  562. <li><a class="reference internal" href="#general-information">General Information</a></li>
  563. <li><a class="reference internal" href="#python-in-the-real-world">Python in the real world</a></li>
  564. </ul>
  565. </li>
  566. </ul>
  567. </div>
  568. <div>
  569. <h4>Previous topic</h4>
  570. <p class="topless"><a href="index.html"
  571. title="previous chapter">Python Frequently Asked Questions</a></p>
  572. </div>
  573. <div>
  574. <h4>Next topic</h4>
  575. <p class="topless"><a href="programming.html"
  576. title="next chapter">Programming FAQ</a></p>
  577. </div>
  578. <div role="note" aria-label="source link">
  579. <h3>This Page</h3>
  580. <ul class="this-page-menu">
  581. <li><a href="../bugs.html">Report a Bug</a></li>
  582. <li>
  583. <a href="https://github.com/python/cpython/blob/main/Doc/faq/general.rst"
  584. rel="nofollow">Show Source
  585. </a>
  586. </li>
  587. </ul>
  588. </div>
  589. </div>
  590. </div>
  591. <div class="clearer"></div>
  592. </div>
  593. <div class="related" role="navigation" aria-label="related navigation">
  594. <h3>Navigation</h3>
  595. <ul>
  596. <li class="right" style="margin-right: 10px">
  597. <a href="../genindex.html" title="General Index"
  598. >index</a></li>
  599. <li class="right" >
  600. <a href="../py-modindex.html" title="Python Module Index"
  601. >modules</a> |</li>
  602. <li class="right" >
  603. <a href="programming.html" title="Programming FAQ"
  604. >next</a> |</li>
  605. <li class="right" >
  606. <a href="index.html" title="Python Frequently Asked Questions"
  607. >previous</a> |</li>
  608. <li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
  609. <li><a href="https://www.python.org/">Python</a> &#187;</li>
  610. <li class="switchers">
  611. <div class="language_switcher_placeholder"></div>
  612. <div class="version_switcher_placeholder"></div>
  613. </li>
  614. <li>
  615. </li>
  616. <li id="cpython-language-and-version">
  617. <a href="../index.html">3.12.0 Documentation</a> &#187;
  618. </li>
  619. <li class="nav-item nav-item-1"><a href="index.html" >Python Frequently Asked Questions</a> &#187;</li>
  620. <li class="nav-item nav-item-this"><a href="">General Python FAQ</a></li>
  621. <li class="right">
  622. <div class="inline-search" role="search">
  623. <form class="inline-search" action="../search.html" method="get">
  624. <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" />
  625. <input type="submit" value="Go" />
  626. </form>
  627. </div>
  628. |
  629. </li>
  630. <li class="right">
  631. <label class="theme-selector-label">
  632. Theme
  633. <select class="theme-selector" oninput="activateTheme(this.value)">
  634. <option value="auto" selected>Auto</option>
  635. <option value="light">Light</option>
  636. <option value="dark">Dark</option>
  637. </select>
  638. </label> |</li>
  639. </ul>
  640. </div>
  641. <div class="footer">
  642. &copy; <a href="../copyright.html">Copyright</a> 2001-2023, Python Software Foundation.
  643. <br />
  644. This page is licensed under the Python Software Foundation License Version 2.
  645. <br />
  646. Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
  647. <br />
  648. See <a href="/license.html">History and License</a> for more information.<br />
  649. <br />
  650. The Python Software Foundation is a non-profit corporation.
  651. <a href="https://www.python.org/psf/donations/">Please donate.</a>
  652. <br />
  653. <br />
  654. Last updated on Oct 02, 2023.
  655. <a href="/bugs.html">Found a bug</a>?
  656. <br />
  657. Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.5.0.
  658. </div>
  659. </body>
  660. </html>