You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
31
19
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.
32
21
33
22
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
+
=======================================
41
24
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/.
45
26
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.
46
28
47
29
Are there copyright restrictions on the use of Python?
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.
59
33
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.
63
35
36
+
The Python logo is trademarked, and in some cases, permission is required to use it. Consult the Trademark Usage Policy for more information.
64
37
65
38
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
+
==========================================
106
40
41
+
Here's a very brief summary of what started it all, written by Guido van Rossum:
107
42
108
-
What is Python good for?
109
-
------------------------
43
+
::
110
44
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).
113
46
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),
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.
123
48
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.
124
50
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.
126
63
127
64
How does the Python version numbering scheme work?
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`).
166
88
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`.
167
90
168
91
How do I obtain a copy of the Python source?
169
-
--------------------------------------------
92
+
============================================
170
93
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/.
174
95
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.
183
97
98
+
Consult the Getting Started section of the Python Developer's Guide for more information on obtaining and compiling the source code.
184
99
185
100
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
+
=====================================
191
102
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.
195
104
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.
196
106
197
107
I've never programmed before. Is there a Python tutorial?
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.
221
118
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.
224
120
121
+
More information about other mailing lists and newsgroups can be found at https://www.python.org/community/lists/.
0 commit comments