> For the complete documentation index, see [llms.txt](https://aftree.gitbook.io/site/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aftree.gitbook.io/site/bian-cheng-yu-yan/python.md).

# Python

解释型、胶水语言

* **Web Development**: [Django](http://www.djangoproject.com/), [Pyramid](http://www.pylonsproject.org/), [Bottle](http://bottlepy.org/), [Tornado](http://tornadoweb.org/), [Flask](http://flask.pocoo.org/), [web2py](http://www.web2py.com/)
* **GUI Development**: [tkInter](http://wiki.python.org/moin/TkInter), [PyGObject](https://wiki.gnome.org/Projects/PyGObject), [PyQt](http://www.riverbankcomputing.co.uk/software/pyqt/intro), [PySide](https://wiki.qt.io/PySide), [Kivy](https://kivy.org/), [wxPython](http://www.wxpython.org/)
* **Scientific and Numeric**: [SciPy](http://www.scipy.org/), [Pandas](http://pandas.pydata.org/), [IPython](http://ipython.org/)
* **Software Development**: [Buildbot](http://buildbot.net/), [Trac](http://trac.edgewall.org/), [Roundup](http://roundup.sourceforge.net/)
* **System Administration**: [Ansible](http://www.ansible.com/), [Salt](http://www.saltstack.com/), [OpenStack](https://www.openstack.org/)

## Applications for Python

Python is used in many application domains. Here's a sampling.

* The [Python Package Index](http://pypi.python.org/pypi) lists thousands of third party modules for Python.

## Web and Internet Development

Python offers many choices for [web development](http://wiki.python.org/moin/WebProgramming):

* Frameworks such as [Django](http://www.djangoproject.com/) and [Pyramid](http://www.pylonsproject.org/).
* Micro-frameworks such as [Flask](http://flask.pocoo.org/) and [Bottle](http://bottlepy.org/).
* Advanced content management systems such as [Plone](http://www.plone.org/) and [django CMS](https://www.django-cms.org/).

Python's standard library supports many Internet protocols:

* [HTML and XML](http://docs.python.org/library/markup)
* [JSON](http://docs.python.org/library/json.html)
* [E-mail processing](http://docs.python.org/library/email).
* Support for [FTP](http://docs.python.org/library/ftplib.html), [IMAP](http://docs.python.org/2/library/imaplib.html), and other [Internet protocols](http://docs.python.org/library/internet).
* Easy-to-use [socket interface](http://docs.python.org/howto/sockets.html).

And the Package Index has yet more libraries:

* [Requests](https://pypi.python.org/pypi/requests/), a powerful HTTP client library.
* [BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/), an HTML parser that can handle all sorts of oddball HTML.
* [Feedparser](https://pypi.python.org/pypi/feedparser) for parsing RSS/Atom feeds.
* [Paramiko](https://pypi.python.org/pypi/paramiko/), implementing the SSH2 protocol.
* [Twisted Python](http://twistedmatrix.com/), a framework for asynchronous network programming.

## Scientific and Numeric

Python is widely used in [scientific and numeric](http://wiki.python.org/moin/NumericAndScientific) computing:

* [SciPy](http://scipy.org/) is a collection of packages for mathematics, science, and engineering.
* [Pandas](http://pandas.pydata.org/) is a data analysis and modeling library.
* [IPython](http://ipython.org/) is a powerful interactive shell that features easy editing and recording of a work session, and supports visualizations and parallel computing.
* The [Software Carpentry Course](http://software-carpentry.org/) teaches basic skills for scientific computing, running bootcamps and providing open-access teaching materials.

## Education

Python is a superb language for teaching programming, both at the introductory level and in more advanced courses.

* Books such as [How to Think Like a Computer Scientist](http://www.openbookproject.net/thinkcs/python/english2e/), [Python Programming: An Introduction to Computer Science](http://mcsp.wartburg.edu/zelle/python/), and [Practical Programming](http://pragprog.com/book/gwpy2/practical-programming).
* The [Education Special Interest Group](https://www.python.org/community/sigs/current/edu-sig) is a good place to discuss teaching issues.

## Desktop GUIs

The [Tk](http://wiki.python.org/moin/TkInter) GUI library is included with most binary distributions of Python.

Some toolkits that are usable on several platforms are available separately:

* [wxWidgets](http://www.wxpython.org/)
* [Kivy](http://kivy.org/), for writing multitouch applications.
* Qt via [pyqt](http://www.riverbankcomputing.co.uk/software/pyqt/intro) or [pyside](http://www.pyside.org/)

Platform-specific toolkits are also available:

* [GTK+](http://www.pygtk.org/)
* Microsoft Foundation Classes through the [win32 extensions](http://sourceforge.net/projects/pywin32/)

## Software Development

Python is often used as a support language for software developers, for build control and management, testing, and in many other ways.

* [SCons](http://www.scons.org/) for build control.
* [Buildbot](http://buildbot.sourceforge.net/) and [Apache Gump](http://gump.apache.org/) for automated continuous compilation and testing.
* [Roundup](http://roundup.sourceforge.net/) or [Trac](http://www.edgewall.com/trac/) for bug tracking and project management.

## Business Applications

Python is also used to build ERP and e-commerce systems:

* [Odoo](https://www.odoo.com/) is an all-in-one management software that offers a range of business applications that form a complete suite of enterprise management applications.
* [Tryton](http://www.tryton.org/) is a three-tier high-level general purpose application platform.
