Skip to content

Commit e1c02d1

Browse files
authored
General.rst
an over all improvement
1 parent 485b16b commit e1c02d1

1 file changed

Lines changed: 57 additions & 160 deletions

File tree

Doc/faq/general.rst

Lines changed: 57 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -13,215 +13,112 @@ General Information
1313
===================
1414

1515
What is Python?
16-
---------------
16+
===============
1717

18-
Python is an interpreted, interactive, object-oriented programming language. It
19-
incorporates modules, exceptions, dynamic typing, very high level dynamic data
20-
types, and classes. It supports multiple programming paradigms beyond
21-
object-oriented programming, such as procedural and functional programming.
22-
Python combines remarkable power with very clear syntax. It has interfaces to
23-
many system calls and libraries, as well as to various window systems, and is
24-
extensible in C or C++. It is also usable as an extension language for
25-
applications that need a programmable interface. Finally, Python is portable:
26-
it runs on many Unix variants including Linux and macOS, and on Windows.
27-
28-
To find out more, start with :ref:`tutorial-index`. The `Beginner's Guide to
29-
Python <https://wiki.python.org/moin/BeginnersGuide>`_ links to other
30-
introductory tutorials and resources for learning Python.
18+
Python is an interpreted, interactive, object-oriented programming language. It features modules, exceptions, dynamic typing, very high-level dynamic data types, and classes. Beyond object-oriented programming, it supports multiple paradigms such as procedural and functional programming. Python combines remarkable power with very clear syntax. It offers interfaces to many system calls and libraries, as well as various window systems, and is extensible in C or C++. Additionally, it can serve as an extension language for applications requiring a programmable interface. Finally, Python is portable: it runs on numerous Unix variants including Linux and macOS, as well as on Windows.
3119

20+
To learn more, start with :ref:`tutorial-index`. The Beginner's Guide to Python links to other introductory tutorials and resources for learning Python.
3221

3322
What is the Python Software Foundation?
34-
---------------------------------------
35-
36-
The Python Software Foundation is an independent non-profit organization that
37-
holds the copyright on Python versions 2.1 and newer. The PSF's mission is to
38-
advance open source technology related to the Python programming language and to
39-
publicize the use of Python. The PSF's home page is at
40-
https://www.python.org/psf/.
23+
=======================================
4124

42-
Donations to the PSF are tax-exempt in the US. If you use Python and find it
43-
helpful, please contribute via `the PSF donation page
44-
<https://www.python.org/psf/donations/>`_.
25+
The Python Software Foundation (PSF) is an independent non-profit organization that holds the copyright for Python versions 2.1 and newer. The PSF's mission is to advance open source technology related to Python and to promote the use of the language. The PSF's homepage is at https://www.python.org/psf/.
4526

27+
Donations to the PSF are tax-exempt in the US. If you use Python and find it helpful, please consider contributing via the PSF donation page.
4628

4729
Are there copyright restrictions on the use of Python?
48-
------------------------------------------------------
49-
50-
You can do anything you want with the source, as long as you leave the
51-
copyrights in and display those copyrights in any documentation about Python
52-
that you produce. If you honor the copyright rules, it's OK to use Python for
53-
commercial use, to sell copies of Python in source or binary form (modified or
54-
unmodified), or to sell products that incorporate Python in some form. We would
55-
still like to know about all commercial use of Python, of course.
30+
======================================================
5631

57-
See `the license page <https://docs.python.org/3/license.html>`_ to find further
58-
explanations and the full text of the PSF License.
32+
You may do anything you wish with the source code, provided you retain the copyrights and display them in any documentation you produce about Python. Complying with these copyright rules allows you to use Python commercially, sell copies of Python (in source or binary form, modified or unmodified), or sell products that incorporate Python in some form. Nonetheless, the PSF appreciates being informed about all commercial uses of Python.
5933

60-
The Python logo is trademarked, and in certain cases permission is required to
61-
use it. Consult `the Trademark Usage Policy
62-
<https://www.python.org/psf/trademarks/>`__ for more information.
34+
For further details and the full text of the PSF License, see the license page.
6335

36+
The Python logo is trademarked, and in some cases, permission is required to use it. Consult the Trademark Usage Policy for more information.
6437

6538
Why was Python created in the first place?
66-
------------------------------------------
67-
68-
Here's a *very* brief summary of what started it all, written by Guido van
69-
Rossum:
70-
71-
I had extensive experience with implementing an interpreted language in the
72-
ABC group at CWI, and from working with this group I had learned a lot about
73-
language design. This is the origin of many Python features, including the
74-
use of indentation for statement grouping and the inclusion of
75-
very-high-level data types (although the details are all different in
76-
Python).
77-
78-
I had a number of gripes about the ABC language, but also liked many of its
79-
features. It was impossible to extend the ABC language (or its
80-
implementation) to remedy my complaints -- in fact its lack of extensibility
81-
was one of its biggest problems. I had some experience with using Modula-2+
82-
and talked with the designers of Modula-3 and read the Modula-3 report.
83-
Modula-3 is the origin of the syntax and semantics used for exceptions, and
84-
some other Python features.
85-
86-
I was working in the Amoeba distributed operating system group at CWI. We
87-
needed a better way to do system administration than by writing either C
88-
programs or Bourne shell scripts, since Amoeba had its own system call
89-
interface which wasn't easily accessible from the Bourne shell. My
90-
experience with error handling in Amoeba made me acutely aware of the
91-
importance of exceptions as a programming language feature.
92-
93-
It occurred to me that a scripting language with a syntax like ABC but with
94-
access to the Amoeba system calls would fill the need. I realized that it
95-
would be foolish to write an Amoeba-specific language, so I decided that I
96-
needed a language that was generally extensible.
97-
98-
During the 1989 Christmas holidays, I had a lot of time on my hand, so I
99-
decided to give it a try. During the next year, while still mostly working
100-
on it in my own time, Python was used in the Amoeba project with increasing
101-
success, and the feedback from colleagues made me add many early
102-
improvements.
103-
104-
In February 1991, after just over a year of development, I decided to post to
105-
USENET. The rest is in the ``Misc/HISTORY`` file.
39+
==========================================
10640

41+
Here's a very brief summary of what started it all, written by Guido van Rossum:
10742

108-
What is Python good for?
109-
------------------------
43+
::
11044

111-
Python is a high-level general-purpose programming language that can be applied
112-
to many different classes of problems.
45+
I had extensive experience with implementing an interpreted language in the ABC group at CWI, and from working with this group I had learned a lot about language design. This is the origin of many Python features, including the use of indentation for statement grouping and the inclusion of very-high-level data types (although the details are all different in Python).
11346

114-
The language comes with a large standard library that covers areas such as
115-
string processing (regular expressions, Unicode, calculating differences between
116-
files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP),
117-
software engineering (unit testing, logging, profiling, parsing
118-
Python code), and operating system interfaces (system calls, filesystems, TCP/IP
119-
sockets). Look at the table of contents for :ref:`library-index` to get an idea
120-
of what's available. A wide variety of third-party extensions are also
121-
available. Consult `the Python Package Index <https://pypi.org>`_ to
122-
find packages of interest to you.
47+
I had a number of gripes about the ABC language, but also liked many of its features. It was impossible to extend the ABC language (or its implementation) to remedy my complaints -- in fact its lack of extensibility was one of its biggest problems. I had some experience with using Modula-2+ and talked with the designers of Modula-3 and read the Modula-3 report. Modula-3 is the origin of the syntax and semantics used for exceptions, and some other Python features.
12348

49+
I was working in the Amoeba distributed operating system group at CWI. We needed a better way to do system administration than by writing either C programs or Bourne shell scripts, since Amoeba had its own system call interface which wasn't easily accessible from the Bourne shell. My experience with error handling in Amoeba made me acutely aware of the importance of exceptions as a programming language feature.
12450

125-
.. _faq-version-numbering-scheme:
51+
It occurred to me that a scripting language with a syntax like ABC but with access to the Amoeba system calls would fill the need. I realized that it would be foolish to write an Amoeba-specific language, so I decided that I needed a language that was generally extensible.
52+
53+
During the 1989 Christmas holidays, I had a lot of time on my hand, so I decided to give it a try. During the next year, while still mostly working on it in my own time, Python was used in the Amoeba project with increasing success, and the feedback from colleagues made me add many early improvements.
54+
55+
In February 1991, after just over a year of development, I decided to post to USENET. The rest is in the Misc/HISTORY file.
56+
57+
What is Python good for?
58+
========================
59+
60+
Python is a high-level, general-purpose programming language that can be applied to many different classes of problems.
61+
62+
It includes a large standard library covering areas such as string processing (regular expressions, Unicode, calculating differences between files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP), software engineering (unit testing, logging, profiling, parsing Python code), and operating system interfaces (system calls, filesystems, TCP/IP sockets). Refer to the table of contents at :ref:`library-index` for an overview of available modules. Additionally, a wide variety of third-party extensions exist. Consult the Python Package Index to find packages relevant to your needs.
12663

12764
How does the Python version numbering scheme work?
128-
--------------------------------------------------
65+
==================================================
12966

13067
Python versions are numbered "A.B.C" or "A.B":
13168

132-
* *A* is the major version number -- it is only incremented for really major
133-
changes in the language.
134-
* *B* is the minor version number -- it is incremented for less earth-shattering
135-
changes.
136-
* *C* is the micro version number -- it is incremented for each bugfix release.
69+
- **A** is the major version number — incremented only for significant language changes.
70+
- **B** is the minor version number — incremented for less drastic changes.
71+
- **C** is the micro version number — incremented for each bugfix release.
13772

138-
Not all releases are bugfix releases. In the run-up to a new feature release, a
139-
series of development releases are made, denoted as alpha, beta, or release
140-
candidate. Alphas are early releases in which interfaces aren't yet finalized;
141-
it's not unexpected to see an interface change between two alpha releases.
142-
Betas are more stable, preserving existing interfaces but possibly adding new
143-
modules, and release candidates are frozen, making no changes except as needed
144-
to fix critical bugs.
73+
Not all releases are bugfixes. Before a new feature release, development releases occur as alpha, beta, or release candidates:
14574

146-
Alpha, beta and release candidate versions have an additional suffix:
75+
- **Alphas** are early releases where interfaces may still change.
76+
- **Betas** are more stable, preserving existing interfaces while possibly adding new modules.
77+
- **Release candidates** are frozen except for critical bug fixes.
14778

148-
* The suffix for an alpha version is "aN" for some small number *N*.
149-
* The suffix for a beta version is "bN" for some small number *N*.
150-
* The suffix for a release candidate version is "rcN" for some small number *N*.
79+
Alpha, beta, and release candidate versions have suffixes:
15180

152-
In other words, all versions labeled *2.0aN* precede the versions labeled
153-
*2.0bN*, which precede versions labeled *2.0rcN*, and *those* precede 2.0.
81+
- Alpha versions end with "aN", where N is a small number.
82+
- Beta versions end with "bN".
83+
- Release candidates end with "rcN".
15484

155-
You may also find version numbers with a "+" suffix, e.g. "2.2+". These are
156-
unreleased versions, built directly from the CPython development repository. In
157-
practice, after a final minor release is made, the version is incremented to the
158-
next minor version, which becomes the "a0" version, e.g. "2.4a0".
85+
Thus, versions labeled `2.0aN` precede `2.0bN`, which precede `2.0rcN`, and all precede the final `2.0`.
15986

160-
See the `Developer's Guide
161-
<https://devguide.python.org/developer-workflow/development-cycle/>`__
162-
for more information about the development cycle, and
163-
:pep:`387` to learn more about Python's backward compatibility policy. See also
164-
the documentation for :data:`sys.version`, :data:`sys.hexversion`, and
165-
:data:`sys.version_info`.
87+
You may also see version numbers with a "+" suffix, e.g. `2.2+`, which indicate unreleased versions built directly from the CPython development repository. Typically, after a final minor release, the version increments to the next minor with an "a0" suffix (e.g., `2.4a0`).
16688

89+
See the Developer's Guide for more about the development cycle, and PEP 387 for Python's backward compatibility policy. Also see documentation for :data:`sys.version`, :data:`sys.hexversion`, and :data:`sys.version_info`.
16790

16891
How do I obtain a copy of the Python source?
169-
--------------------------------------------
92+
============================================
17093

171-
The latest Python source distribution is always available from python.org, at
172-
https://www.python.org/downloads/. The latest development sources can be obtained
173-
at https://github.com/python/cpython/.
94+
The latest Python source distribution is always available from python.org at https://www.python.org/downloads/. The latest development sources can be found at https://github.com/python/cpython/.
17495

175-
The source distribution is a gzipped tar file containing the complete C source,
176-
Sphinx-formatted documentation, Python library modules, example programs, and
177-
several useful pieces of freely distributable software. The source will compile
178-
and run out of the box on most UNIX platforms.
179-
180-
Consult the `Getting Started section of the Python Developer's Guide
181-
<https://devguide.python.org/setup/>`__ for more
182-
information on getting the source code and compiling it.
96+
The source distribution is a gzipped tar file containing the complete C source, Sphinx-formatted documentation, Python library modules, example programs, and several useful pieces of freely distributable software. It compiles and runs out of the box on most UNIX platforms.
18397

98+
Consult the Getting Started section of the Python Developer's Guide for more information on obtaining and compiling the source code.
18499

185100
How do I get documentation on Python?
186-
-------------------------------------
187-
188-
The standard documentation for the current stable version of Python is available
189-
at https://docs.python.org/3/. PDF, plain text, and downloadable HTML versions are
190-
also available at https://docs.python.org/3/download.html.
101+
=====================================
191102

192-
The documentation is written in reStructuredText and processed by `the Sphinx
193-
documentation tool <https://www.sphinx-doc.org/>`__. The reStructuredText source for
194-
the documentation is part of the Python source distribution.
103+
The standard documentation for the current stable Python version is available at https://docs.python.org/3/. PDF, plain text, and downloadable HTML versions are available at https://docs.python.org/3/download.html.
195104

105+
The documentation is written in reStructuredText and processed by the Sphinx documentation tool. The reStructuredText source files are included in the Python source distribution.
196106

197107
I've never programmed before. Is there a Python tutorial?
198-
---------------------------------------------------------
108+
========================================================
199109

200-
There are numerous tutorials and books available. The standard documentation
201-
includes :ref:`tutorial-index`.
202-
203-
Consult `the Beginner's Guide <https://wiki.python.org/moin/BeginnersGuide>`_ to
204-
find information for beginning Python programmers, including lists of tutorials.
110+
Numerous tutorials and books exist. The standard documentation includes :ref:`tutorial-index`.
205111

112+
Consult the Beginner's Guide for information tailored to new Python programmers, including tutorial lists.
206113

207114
Is there a newsgroup or mailing list devoted to Python?
208-
-------------------------------------------------------
209-
210-
There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list,
211-
`python-list <https://mail.python.org/mailman/listinfo/python-list>`_. The
212-
newsgroup and mailing list are gatewayed into each other -- if you can read news
213-
it's unnecessary to subscribe to the mailing list.
214-
:newsgroup:`comp.lang.python` is high-traffic, receiving hundreds of postings
215-
every day, and Usenet readers are often more able to cope with this volume.
115+
======================================================
216116

217-
Announcements of new software releases and events can be found in
218-
comp.lang.python.announce, a low-traffic moderated list that receives about five
219-
postings per day. It's available as `the python-announce mailing list
220-
<https://mail.python.org/mailman3/lists/python-announce-list.python.org/>`_.
117+
Yes, there is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, python-list. These are gatewayed into each other — if you can read newsgroups, subscribing to the mailing list is unnecessary. :newsgroup:`comp.lang.python` is high-traffic, receiving hundreds of posts daily, and Usenet readers often manage this volume well.
221118

222-
More info about other mailing lists and newsgroups
223-
can be found at https://www.python.org/community/lists/.
119+
Announcements of new releases and events appear in `comp.lang.python.announce`, a low-traffic moderated list with about five postings daily. It is also available as the python-announce mailing list.
224120

121+
More information about other mailing lists and newsgroups can be found at https://www.python.org/community/lists/.
225122

226123
How do I get a beta test version of Python?
227124
-------------------------------------------

0 commit comments

Comments
 (0)