Python is a clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java. Some of Python's notable features: * Uses an elegant syntax, making the programs you write easier to read. * Is an easy-to-use language that makes it simple to get your program working. This makes Python ideal for prototype development and other ad-hoc programming tasks, without compromising maintainability. * Comes with a large standard library that supports many common programming tasks such as connecting to web servers, searching text with regular expressions, reading and modifying files. * Python's interactive mode makes it easy to test short snippets of code. There's also a bundled development environment called IDLE. * Is easily extended by adding new modules implemented in a compiled language such as C or C++. * Can also be embedded into an application to provide a programmable interface. * Runs anywhere, including [[https://www.python.org/downloads/mac-osx/|Mac OS X]], [[https://www.python.org/downloads/windows/|Windows]], [[https://docs.python.org/3/using/unix.html|Linux]], and [[https://docs.python.org/3/using/unix.html|Unix]], with unofficial builds also available for [[Android]] and iOS. * Is free software in two senses. It doesn't cost anything to download or use Python, or to include it in your application. Python can also be freely modified and re-distributed because while the language is copyrighted it's available under [[http://www.python.org/psf/license/|an open-source license]]. Some programming-language features of Python are: * A variety of basic data types are available: numbers (floating point, complex, and unlimited-length long integers), strings (both ASCII and Unicode), lists, and dictionaries. * Python supports object-oriented programming with classes and multiple inheritances. * Code can be grouped into modules and packages. * The language supports raising and catching exceptions, resulting in cleaner error handling. * Data types are strongly and dynamically typed. Mixing incompatible types (e.g. attempting to add a string and a number) causes an exception to be raised, so errors are caught sooner. * Python contains advanced programming features such as generators and list comprehensions. * Python's automatic memory management frees you from having to manually allocate and free memory in your code. See the SimplePrograms collection of short programs, gradually increasing in length, which shows off Python's syntax and readability. Writing Pythonic code is not hard---but you have to get used to the (PEP) code style rules. You can test, check, and improve your code style at online resources such as [[https://pythonium.net/linter|Pythonium]]. Translations: * 中文介绍 [[TODO|ChineseOverview]]