# 2.1 What Is Python?

Here is a description taken from the Python page for newbies, http://www.python.org/topics/learn

Python is a clear and powerful object-oriented programming language, comparable to Perl, Tcl, Scheme, or Java.

Some of Python's notable features:

- Python uses an elegant syntax for readable programs
- Python is an agile language that makes it easy to get your program working. This makes Python an ideal language for prototype development and other ad-hoc programming tasks, without compromising maintainability.
- A variety of basic data types are available: numbers (integers, floating point, complex, and unlimited-length long integers), strings (both ASCII and Unicode), lists, dictionaries.
- A variety of basic data types are available: numbers (integers, floating point, complex, and unlimited-length long integers), strings (both ASCII and Unicode), lists, dictionaries.
- Python supports object-oriented programming with classes and multiple inheritance.
- Code can be grouped into modules and packages.
- The language supports raising and catching exceptions, resulting in cleaner error handling.
- Data types are strongly but dynamically typed. Mixing incompatible types (e.g. attempting to add a string and a number) causes an exception to be raised.
- Python contains advanced programming features such as generators and list comprehensions.
- Automatic garbage collection frees you from the hassles of memory management.
- The large standard library supports many common programming tasks such as connecting to web servers, regular expressions, and file handling.
- Python's interactive mode makes it easy to test short snippets of code. There's also a bundled development environment called IDLE.
- The Python interpreter is easily extended by adding new modules implemented in a compiled language such as C or C++.
- The interpreter can also be embedded into an application to provide a programmable interface.
- Python runs on many different computers and operating systems: Windows, MacOS, many brands of Unix, OS/2, ...
- Python is open source software, copyrighted but freely usable and distributable, even for commercial use.

To begin learning the Python language, you should download the Python interpreter and read the tutorial.