Topics
♦ Internet resources
♦ Python books
♦ Conferences and services
► learning-python.com/books/about-python.html
Others
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) |
●
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…
►
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
Click
the link below to play audio file “sousa.au”—the Monty Python theme song,
provided your machine supports audio playback.
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 does—the
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.
#!python
"""
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
else:
import html
htmlescape = html.escape
maxline
= 60 # for
seperator lines
browser
= True #
display in a browser
saveto
= 'Certificate.txt' #
output file names
template = """
%s
===> Official Certificate <===
Date: %s
This certifies that:
\t%s
has survived the massive tome:
\t%s
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.)
%s
"""
# interact, setup
for c in 'Congratulations!'.upper():
print(c, end=' ')
sys.stdout.flush() # else some
shells wait for \n
time.sleep(0.25)
print()
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)
file.close()
# 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)
file.close()
# 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.