mirror of https://github.com/python/cpython
30 lines
1.6 KiB
Plaintext
30 lines
1.6 KiB
Plaintext
What is Python? Executive Summary
|
|
----------------------------------
|
|
|
|
Python is an interpreted, object-oriented, high-level programming
|
|
language with dynamic semantics. Its high-level built in data
|
|
structures, combined with dynamic typing and dynamic binding, make it
|
|
very attractive for rapid application development, as well as for use
|
|
as a scripting or glue language to connect existing components
|
|
together. Python's simple, easy to learn syntax emphasizes
|
|
readability and therefore reduces the cost of program maintenance.
|
|
Python supports modules and packages, which encourages program
|
|
modularity and code reuse. The Python interpreter and the extensive
|
|
standard library are available in source or binary form without charge
|
|
for all major platforms, and can be freely distributed.
|
|
|
|
Often, programmers fall in love with Python because of the increased
|
|
productivity it provides. Since there is no compilation step, the
|
|
edit-test-debug cycle is incredibly fast. Debugging Python programs is
|
|
easy: a bug or bad input will never cause a segmentation fault.
|
|
Instead, when the interpreter discovers an error, it raises an
|
|
exception. When the program doesn't catch the exception, the
|
|
interpreter prints a stack trace. A source level debugger allows
|
|
inspection of local and global variables, evaluation of arbitrary
|
|
expressions, setting breakpoints, stepping through the code a line at
|
|
a time, and so on. The debugger is written in Python itself,
|
|
testifying to Python's introspective power. On the other hand, often
|
|
the quickest way to debug a program is to add a few print statements
|
|
to the source: the fast edit-test-debug cycle makes this simple
|
|
approach very effective.
|