Python programming language
High level, interpreted, object-oriented
Python is a high-level, powerful, industrial-grade, object-oriented, and popular programming language that excels at rapid prototyping, integration between systems, and at embedding within larger, more rigid systems to provide a mechanism by which rapid iteration, prototyping, or modifications may be applied to those systems. Python is notable for its unique use of whitespace, for its use of dynamic typing, and for the elegant consistency of its type system in treating functions, types, and simple integers and floats the same as any other instance of a user-defined type.
- Commonly used for
- rapid prototyping
- web applications (server-side logic)
- commandline applications
- data analysis
- data cleanup
- scientific computing
- data processing pipelines
- research applications
- web crawling
- "glue" code to connect separate subsystems
- dynamic configuration of larger systems
- video game application logic
- others
- Rarely used for
- web app UIs (possible with skulpt or brython, but not particularly common or recommended)
- Android apps (possible with Python for Android, but less common than using Java for Android)
- iOS apps (theoretically possible with PyObjC, but not particularly easy / well-supported)
- OS kernels (infeasible)
- drivers
- other systems software
- Execution and distribution
- interpreted; the original, untranslated code is distributed directly to the machines on which it will be run, and then a program called an "interpreter" that is installed on the target machine reads and executes this distributed code, acting as an intermediary between the code and the CPU; the interpreter may optimize all or some of the code by just-in-time (JIT) compiling it, translating it to native code for the target CPU, thereby allowing the JIT compiled code to be executed directly by the CPU and not merely executed indirectly via the interpreter
- Memory management
- automatic (reference counted)
- Python Tutorial for the official tutorial to the Python programming language
- Python 2.x Library Reference for a reference to the standard library on 2.x
- Python 3.x Library Reference for a reference to the standard library on 3.x
- App Engine Python Intro for writing a web server using Python on Google App Engine
- Python for Android for how to build and deploy Python applications for Android