C
Useful Python Resources

This appendix lists some useful resources for the intermediate-level Python programmer. The list does include a few tutorials, but these are either more in-depth than most beginner’s tutorials or they cover specific topic areas. Many of the links point to user support forums and mailing lists. Several of the resources were recommended by the Python “Tutor” mailing list community following a request for suggestions.

Asking Questions: Mailing Lists and More

Many Python mailing lists are available, covering a wide variety of topics and interest areas. The Python “Tutor” mailing list is specifically targeted at those learning Python and its standard library along with the fundamentals of programming. The main Python mailing list is a source of information about all aspects of Python, but is populated by a particularly Python-savvy team who may be less tolerant of poorly researched questions. You can find the official Python mailing lists at https://mail.python.org/mailman/listinfo.

At the time of writing, almost 200 lists are available; however, many relate to special events such as conferences or local user groups. Nonetheless, many technical lists are available on the official site.

Many third-party packages also have their own mailing lists or web forums for support and maintenance. Examples include the wxPython GUI library and the Django web framework.

The gmane.org website and news server offers access to all the official mailing lists as well as many other lists. At the time of writing it hosts more than 230 top-level Python mailing lists, and many of these have several sublists. All of these are available in web, usenet, and e-mail formats. Other related technologies such as SQLite, Tcl/Tk, and the various OSes all have extensive lists available, too.

Newsgroups are a legacy from the early pre-web days of the Internet, but are still heavily used by professional programmers. They often provide more direct access to a true expert than some of the more casual web forums. The general Python mailing list is also available on usenet as news://comp.lang.python.

Some people prefer IRC channels because of the immediate response. The problem with that is that you are limited to whoever is logged on at the same time you are. Using a mailing list, web forum, or newsgroup, although slightly slower, is more likely to get you a definitive solution or answer to your question.

Stackoverflow (www.stackoverflow.com) is a popular site for asking questions and getting answers. It contains an archive of previous questions and their answers. Some people complain that the answers are not always optimal, but that is the nature of the Internet; if you get an answer that works, it’s better than no answer at all. As always with archives, it’s best to search the archive before posting a new, duplicate question.

Reading Blogs

If you don’t have specific questions and just want to find out what other Python programmers are doing or thinking, a blog may be your best bet. Here are a few blog sites with useful material:

  • Doug Hellman has a long established website at http://pymotw.com/2/contents.html that features different Python modules on a weekly basis. In addition, he maintains a more informal but useful blog at http://doughellmann.com/.
  • The effbot site is not strictly a blog in the traditional sense, but it contains a miscellany of useful articles and information from Python stalwart Frederick Lundh and is well worth a browse. You can find it at http://effbot.org/.
  • The final suggestion is not Python specific, but a general programming blog. The author has strong opinions, sometimes controversial, but that just adds to the interest. It is written by Joel Spolsky and is located at http://www.joelonsoftware.com/index.html.

Studying Tutorials and References

Many universities now use Python in their programming courses. This has led to a number of online courses and tutorials being produced by the universities or their students. Some are basic and aimed at beginners, but others feature specific packages or libraries or teach more advanced techniques.

The University of Cambridge has several short courses available as PDF files. You can find them linked from this site: http://www.ucs.cam.ac.uk/docs/course-notes/unix-courses/PythonProgIntro.

You can find other similar courses with the aid of your favorite search engine.

In addition, several computer companies use Python or encourage programmers to learn about it. Two well-known examples are Apple and Google, both of which provide Python courses featuring multimedia instruction. You can find their courses at the following URLs.

This one is for iTunes users: https://itunes.apple.com/gb/itunes-u/hands-on-python-tutorial-chapter/id448754574?mt=10. This is for the Google fans: https://developers
.google.com/edu/python/.

Wikipedia (http://en.wikipedia.org/wiki/Main_Page) is a fantastic resource for technical information. If you come across computer science terms that you want to understand, Wikipedia is a great place to try first. It can sometimes be a tad overly technical for beginners, but it usually has links to gentler tutorials at the bottom of the page.

Several online books about Python are available, including the following two titles, each of which focuses on a specific area of interest:

  • Dive Into Python is a beginner’s book, but with a slightly deeper than usual treatment. You can find it at http://www.diveintopython3.net/. It is also included in the ActiveState Windows distribution of Python.
  • Text Processing in Python is slightly outdated nowadays, but it still contains a lot of useful material on searching and manipulating textual data in all its many forms. The online version of the book is available at http://gnosis.cx/TPiP/.

Watching Videos

YouTube has several videos on Python. The quality ranges from excellent to poor, as is usually the case on community-based sites like YouTube. However, if you learn well from video it’s worth a browse; you can always hit the stop button if you don’t like what you find. YouTube is, of course, located at https://www.youtube.com/.

ShowMeDo is a web-based video training site. It offers a mix of free and paid-for training materials. The quality is more consistent than YouTube and well worth a browse. Check it out at http://showmedo.com/.

And Now for Something Completely Different…

As a final treat, you can try the Python Challenge. This is a bit like an adventure game for Python programmers. You start with easy examples, which then become more progressively difficult. The location of the next challenge is revealed by solving the current one. If you find that you are writing a lot of code for any individual challenge, you are probably going the wrong way about solving it. The fun starts here: http://www.pythonchallenge.com/.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset