Python

1 - I can do better 2 - Jury's out 3 - Pretty darn good 4 - Splendiferous 5 - Awesometastic by 7 people | Log in to rate

Ranked #4,891 in Tech & Geek, #115,711 overall

Free, powerful, portable and fun to use, Python is the language of choice for many professional and novice software developers. It's object oriented design, clean syntax and extensive library makes it an idea choice for web development, data management andstandalone application development.

Python also enjoys the distinction of being the only language that can run on Mac, Windows, Linux, BSD, Palm OS plus it can run inside Java as well as being able to run as a full blown .NET language.

The Zen of Python 

Long time Pythoneer Tim Peters succinctly channels the BDFL's guiding principles for Python's design into 20 aphorisms, only 19 of which have been written down.
  • Beautiful is better than ugly.
  • Explicit is better than implicit.
  • Simple is better than complex.
  • Complex is better than complicated.
  • Flat is better than nested.
  • Sparse is better than dense.
  • Readability counts.
  • Special cases aren't special enough to break the rules.
  • Although practicality beats purity.
  • Errors should never pass silently.
  • Unless explicitly silenced.
  • In the face of ambiguity, refuse the temptation to guess.
  • There should be one-- and preferably only one --obvious way to do it.
  • Although that way may not be obvious at first unless you're Dutch.
  • Now is better than never.
  • Although never is often better than *right* now.
  • If the implementation is hard to explain, it's a bad idea.
  • If the implementation is easy to explain, it may be a good idea.
  • Namespaces are one honking great idea -- let's do more of those!

Daily Python-URL 

Python NEWS as it happens

Daily news from the Python universe, presented by your friends at PythonWare.

Loading Fetching RSS feed... please stand by

Learning Python 

Here are some quick links to free online tutorials for beginners.
Non-Programmers Tutorial For Python
A great tutorial for those who have never programmed computers before.
Python course in Bioinformatics
This is an excellent tutorial that just happens to be about writing code in the domain of bioinformatics. Don't let the title scare you. It's well worth checking out and you can learn two things at once!

Python Language Resources 

Tutorials, reference materials and such

python.org
Official Python Language Site
A Collection of Python Programming Videos
Want to learn how to use some of the best Python programming tools out there, including the supercharged IPython interpreter and the great free editor SPE? Or maybe you want to see how easy it is to create great-looking, powerful graphical user interfaces using wxPython. If so, check out this link.
Python Cookbook
The Python Cookbook is a collaborative collection of users' contributions to Python lore.

Python Cookbook code is freely available for use and review. Users are encouraged to contribute recipes (code and discussion), comments and ratings.
Dive into Python
Dive Into Python is a Python book for experienced programmers. You can buy a printed copy, read it online, or download it in a variety of formats.
Daily Python-URL!
Daily news from the Python universe, presented by your friends at PythonWare. Guest editor: Hamish Lawson.
Python Devcentre
Articles, code, and other goodies to assist you in your Pythonic bliss.
IronPython Demo
Jim Hugunin introduces IronPython by showing interactive exploration and GUI building from a command prompt as well as simple embedding as a scripting language in an existing Windows Presentation Foundation application.
IronPython Home Page
IronPython is the code name of the early pre-alpha preview release of the new Implementation Running on .NET of the Python programming language. It supports an interactive interpreter with fully dynamic compilation. It is well integrated with the rest of the framework and makes all .NET libraries easily available to Python programmers.
ActivePython
ActivePython is ActiveState's quality-assured, ready-to-install distribution of Python, available for AIX, HP-UX, Linux, Mac OS X, Solaris, and Windows. The standard ActivePython distribution is available for free download.
Python Web Special Interests Group
This is a mailing list that is dedicated to the topic of web development with Python.

Recommended Books 

All of these are currently on my bookshelf

Python is an easy language to learn and I recommend picking up a couple of books to get started. If you are programming in Windows the "Python Programming on Win32" by Mark Hammond is a must read.

You will want to get a few of these but here they are in order of preference, top being most preferred.

Dive Into Python

Avg. Customer Rating: Amazon Rating

Amazon Price: $34.19 (as of 12/11/2009) Buy Now

Python Programming on WIN32: Help for Windows Programmers

Avg. Customer Rating: Amazon Rating

Amazon Price: $41.99 (as of 12/11/2009) Buy Now

Python Cookbook

Avg. Customer Rating: Amazon Rating

Amazon Price: $32.97 (as of 12/11/2009) Buy Now

Python Web Programming

Avg. Customer Rating: Amazon Rating

Amazon Price: $34.99 (as of 12/11/2009) Buy Now

Programming Python, Second Edition with CD

Avg. Customer Rating: Amazon Rating

Amazon Price: $43.79 (as of 12/11/2009) Buy Now

Learning Python, Second Edition

Avg. Customer Rating: Amazon Rating

Amazon Price: $26.39 (as of 12/11/2009) Buy Now

Python Developer's Handbook

Avg. Customer Rating: Amazon Rating

Amazon Price: $44.99 (as of 12/11/2009) Buy Now

Python & XML

Avg. Customer Rating: Amazon Rating

Amazon Price: $26.37 (as of 12/11/2009) Buy Now

Jython Essentials (O'Reilly Scripting)

Avg. Customer Rating: Amazon Rating

Amazon Price: $31.49 (as of 12/11/2009) Buy Now

Python Pocket Reference (Pocket Reference (O'Reilly))

Avg. Customer Rating: Amazon Rating

Amazon Price: $9.95 (as of 12/11/2009) Buy Now

Web Programming / Frameworks 

Web Application Frameworks

Python is ideally suited to web development.

With it's powerful object model and exceptional text processing capabilities Python makes creating a web application framework easy and as a result there are quite a few choices when it comes to writing apps with Python.

Here is a partial list of tools that can help you get started.
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
TurboGears
TurboGears is billed as a python based framework for rapid web development.
Zope
Zope is the grand-daddy of Python frameworks. It is an open source application server for building content management systems, intranets, portals, and custom applications.
DataZoomer
DataZoomer is an software application platform that enhances developers ability to design, code and deploy web applications. DataZoomer differs from the other frameworks in that it includes a fully hosted environment for your application.
Cheetah
The Python-Powered Template Engine
Webware
Webware for Python is a suite of Python packages and tools for developing object-oriented, web-based applications. The suite uses well known design patterns and includes a fast Application Server, Servlets, Python Server Pages (PSP), Object-Relational Mapping, Task Scheduling, Session Management, and many other features. Webware is very modular and easily extended.
SkunkWEB
SkunkWeb is a robust, open source web application server written in Python.
Twisted
Twisted is an event-driven networking framework written in Python and licensed under the MIT license.
Quixote
Quixote is a package that supports Web application development by Python programmers. In Quixote, the templating language is a small extension of Python itself: the aim is to make Web page assembly take maximal advantage of the Python programmer's existing skills.
Albatross
Albatross is a small and flexible Python toolkit for developing highly stateful web applications. The toolkit has been designed to take a lot of the pain out of constructing intranet applications although you can also use Albatross for deploying publicly accessed web applications.
Jon's Python Modules
These Python modules provide simple yet powerful multi-threaded object-oriented CGI/FastCGI/mod_python/html-templating facilities for the Python programming language.
Spyce
Spyce is a server-side language that supports elegant and efficient Python-based dynamic HTML generation. Spyce allows embedding Python in pages similar to how JSP embeds Java, but Spyce is far more than a JSP clone. Out of the box, Spyce supports component-oriented programming a la JSF, Tapestry, or ASP.NET, as well as the model-view-controller style popularized by Struts. Spyce also keeps the Python philosophy of powerful simplicity; you will not have to deal with any XML configuration files in Spyce.
CherryPy
A pythonic object-oriented web development framework
Myghty
Myghty is a Python based web and templating framework originally based on HTML::Mason, the enterprise-level framework used by Amazon.com, del.icio.us and Salon.com, among many others.
Paste
Paste brings consistency to Python web development and web application installation, providing tools for both developers and system administrators.
WSGI
WSGI stands for Web Server Gateway Inteface which is a proposal for a standard interface between web servers and Python web applications or frameworks. The idea is to promote web application compatibility accross various web server platforms.

Related Items 

Not exactly Python

These items are related to Python in some way. Either they are based on Python or they are tools that make Python easier, or I just couldn't think of a good place to put them.
Guido's Weblog
Guido van Rossum is the creator of the Python language.
Jython
Jython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform.
BOO
An interesting Python-like scripting language that works with the CLI.
Logix
Logix is more than a programming language. It is multi-language programming system. With Logix, each part of your program can be developed in a language that is finely tuned to the task. Logix compiles to Python byte-code and can be freely mixed with regular Python modules. Logix has an interactive shell, similar to Python's.
You Used Python to Write WHAT?
An introduction to Python on CIO.com explaining the pros and cons of Python use in the enterprise.

by hlainchb

Herb Lainchbury is a software developer and system architect.  He
has designed and developed several enterprise level systems and is
currently... (more)
Create a Lens!