18. Resources









     Internet resources

     Python books

     Conferences and services





Internet resources












Python’s support mail-list


Instructor’s web site(s)


O’Reilly’s web site


Python’s tutoring mail-list


Python online docs


PyPI site: extensions


Python starship site (dated)






Python books




      Learning Python (this class’s language fundamentals)

      Programming Python (this class’s application topics)

      Python Pocket Reference (the fine points)

      Python Cookbook

      Python in a Nutshell

      Python Essential Reference

      . . .plus gobs more…



I stopped updating the original list here when there were 50 books in 2002 (and amazon.com reported over 200 in 2012).  For more details, search for Python at amazon.com, or see the book pages at www.python.org/doc.



A Few Fully Gratuitous O’Reilly Translation Covers…




Description: Description: Description: Description: Description: http://learning-python.com/learn_python4_cvr_l.gif





Description: Description: Description: Description: Description: Description: Description: ora-ppr-germany-big





Description: Description: Description: Description: Description: Description: Description: ora-jp-pp2




Python conferences and services




   Annual PyCon (formerly IPCn) gatherings

   US PyCon: 2,500 attendees in 2012 through 2015 (and counting)

   O'Reilly Python Conference, Open Source Convention  

   Local Python user groups ("PIGgies")

   European (and other) annual Python Conference

   Others: Brazil, Korean Python convention

   Commercial support, consulting, training

   AND MUCH MORE: see www.python.org







And finally…



Click the link below to play audio file “sousa.au”—the Monty Python theme song, provided your machine supports audio playback.




Roll the closing credits.




Description: Description: Description: Description: Description: Description: Description: mp_sillywalk




Bonus: Print Your Own Completion Certificate!

[Plagiarized from Learning Python 5th Edition, Mid 2013]

And one last thing: In lieu of exercises for this part of the book, I’m going to post a bonus script here for you to study and run on your own. I can’t provide completion certificates for readers of this book (and the certificates would be worthless if I could!), but I can include an arguably cheesy Python script that doesthe following file, certificates.py, is a Python 2.X/3.X script which creates a simple book completion certificate in both text and HTML file forms, and pops them up in a Web browser on your machine by default.



File certificate.py: a Python 2.X and 3.X script.

Generate a bare-bones class completion certificate: printed,

and saved in text and html files displayed in a web browser.


from __future__ import print_function             # 2.X compatibility

import time, sys, webbrowser


if sys.version_info[0] == 2:                      # 2.X compatibility

    input = raw_input

    import cgi

    htmlescape = cgi.escape


    import html

    htmlescape = html.escape


maxline  = 60                         # for seperator lines

browser  = True                       # display in a browser

saveto   = 'Certificate.txt'          # output file names

template = """



 ===> Official Certificate <===


Date: %s


This certifies that:




has survived the massive tome:




and is now entitled to all privileges thereof, including

the right to proceed on to learning how to develop Web

sites, desktop GUIs, scientific models, and assorted Apps,

with the possible assistance of follow-up applications

books such as Programming Python (shameless plug intended).


--Mark Lutz, Instructor


(Note: certificate void where obtained by skipping ahead.)





# interact, setup

for c in 'Congratulations!'.upper():

    print(c, end=' ')

    sys.stdout.flush()    # else some shells wait for \n




date = time.asctime()

name = input('Enter your name: ').strip() or 'An unknown reader'

sept = '*' * maxline

book = 'Learning Python 5th Edition'


# make text file version

file = open(saveto, 'w')

text = template % (sept, date, name, book, sept)

print(text, file=file)



# make html file version

htmlto = saveto.replace('.txt', '.html')

file = open(htmlto, 'w')


tags = text.replace(sept,   '<hr>')                   # insert a few tags

tags = tags.replace('===>', '<h1 align=center>')

tags = tags.replace('<===', '</h1>')


tags = tags.split('\n')                               # line-by-line mods

tags = ['<p>' if line == ''

            else line for line in tags]

tags = ['<i>%s</i>' % htmlescape(line) if line[:1] == '\t'

            else line for line in tags]

tags = '\n'.join(tags)


link = '<i><a href="http://www.rmi.net/~lutz">Book support site</a></i>\n'

tags = '<html><body>' + tags + link + '</body></html>'


print(tags, file=file)



# display results

print('[File: %s]' % saveto, end='')

print('\n' * 2, open(saveto).read())


if browser:

    webbrowser.open(saveto, new=True)

    webbrowser.open(htmlto, new=False)


if sys.platform.startswith('win'):

    input('[Press Enter]')  # keep window open if clicked on Windows

Run this script on your own, and study its code for a summary of some of the ideas we’ve covered in this book. You can fetch its code from this book’s web site described in the Preface, if you wish. This could be much more grandiose, of course (see the Web for pointer to Python support for PDFs and other document tools), but if you’ve made it to the end of this book (class), you deserve another joke or two.