========================================================================= Python training package, Version 2.7-3.5, July 2016. This is README.txt, the class material's top-level user guide. Author/Instructor: Mark Lutz, http://learning-python.com. ========================================================================= This package contains the class workbook in HTML format, Python installers, and extra examples. It is available both on CD or USB stick, and on the Web at http://learning-python.com/class. The web version is identical to that on CDs or USB stick, but has no Python installers (get these from python.org/downloads) or ebook copies (get these in your CD/USB distribution). QUICK START: To view the class workbook in your web browser... CD/USB users: 1) Navigate to the CD/USB's top-level contents from Computer. 2) Click on the file named CLICK-TO-OPEN-WORKBOOK.htm. This shortcut opens file index.htm in the Workbook folder. Web users: 1) Open the class page at "http://learning-python.com/class/". 2) Click either the Workbook folder or CLICK-TO-OPEN-WORKBOOK.htm. Or, open "http://learning-python.com/class/Workbook/" directly. To install Python, if needed... CD/USB users: Consult the file README.txt in the top-level Python folder. On Windows: simply double-click on the self-installer program described there -- for instance, to install Python 3.5, click to run "Python\Python-3.5\Install\Windows\python-3.5.0.exe". Python 2.7's installer is a clickable ".msi" file. Web users: Consult "http://learning-python.com/class/Python_web/README.txt", and fetch and run the Python installers from Python's website at "http://www.python.org/downloads" (e.g., python-3.5.0.exe). As of October 2015, the class workbook should render well in any web browser; Internet Explorer is no longer preferred. Specifically, the workbook has been verified on Firefox, Chrome, Opera, Internet Explorer, and Edge. Safari is untested, but Firefox and Chrome are also available on Macs as a fallback option. Be sure to see Extras\PyRef5E-Ebook for a free ebook copy of "Python Pocket Reference, 5th Edition", a supplemental text [as of July, 2016, this ebook is in the CD and USB versions of the workbook, but not in the online version], and please ask the instructor if you need any assistance using this package. Update/caveat: as of 2019, the class workbook document is not mobile-browser friendly, and probably never will be. It was generated by MS-Word years ago, and its HTML is difficult to mobilize manually. Please consider viewing the workbook on your desktop browser, and accept this site's apologies for any usage issues if you don't. ------------------------------------------------------------------------- DETAILS (optional reading from this point forward) RECENT NOTES: 1) For users of the new online Web version of the workbook, any "CD" here mean the class Web site, and Python installers must be fetched. See web-README.txt here for online version usage notes/links. As of 2015, the "CD"s may also refer to the new USB flashdrive distribution. 2) See the revisions log at the end of this file for updates made to this package. 3) Python versions note: The class workbook is based on both Python 2.X and 3.X today; we will discuss how they differ along the way. See the "README.txt" file in the "Python" folder here and the Workbook's Preface for more details on which version to use for the class. OVERVIEW: This package contains the Python class workbook material in HTML format for viewing with a web browser (e.g., Internet Explorer, Chrome, Firefox). Everything related to the class is included in this HTML distribution. In general, here is what you will find on this CD: - The class workbook in HTML form - Source code files for class examples and lab exercises - Lab solutions, with source code - Python interpreter distributions: Windows, Mac, source code - Extra Python examples from various Python books and more - The PP3E book's 2.X examples distribution package - The PP4E book's 3.X examples distribution package - Ebook copy of book "Python Pocket Reference, 5th Edition" (CD/USB only) CONTENT TOUR: README.txt This file. Workbook\ All the class material as HTML -- file "Workbook\index.htm" is the root page (view in a web browser). The is the HTML version of the class workbook, and is equivalent to the original paper workbook. This may look best in Internet Explorer, but any browser will do (update: as of 09/2015, all IE-specific formatting has been removed). This folder also has example and exercise source code (see below). Python\ The latest Python interpreter releases for Windows, Macs, and Linux, including the Python manuals and source distribution. See the workbook's Preface for notes on the 3.X/2.X version choice. Extras\ Extra program examples that don't appear in the workbook but are sometimes covered in the class based upon interest. The HTML workbook has hyperlinks to some examples here. Also included as larger program examples: the examples distribution packages from the 3rd and 4th editions of the book Programming Python, plus a calendar GUI and folder synch tool (see frigcal-mergeall), and an ebook copy of the book "Python Pocket Reference" (in the CD/USB workbook distributions, but not in the online version). EXAMPLE CODE: The Workbook folder includes the workbook itself (file index.htm), as well as source files for the lecture examples (folder Examples) and lab exercises solutions (folder Exercises). All items are associated with HTML hyperlinks in the workbook. WEB BROWSERS: The HTML format workbook here may be viewed with most web browsers, but Internet Explorer is generally recommended, as the HTML was generated by MS Word (diagrams and bullets may render oddly in other browsers). => Update: as of 10/2015, IE-specific formatting has been removed, and IE is no longer required or preferred. COPYING FOR SPEED: You may view the workbook and its examples on CD, USB, or the web site directly, but some machines may run faster if you copy the workbook material to the local hard drive via drag-and-drop (web users: fetch the ZIP file at the website and unzip to copy locally). TEXT FORMAT: Some of the text files on the CD may be in MS-DOS end-of-line format. You probably don't need to care as most editors handle the difference, and it doesn't matter for the HTML files. If you must convert, though, try running the files through a UNIX utility like 'dos2unix'; a 'find' script can convert all the text files at once. For instance: #!/bin/csh # pick your converter: fromdos/todos {}, dos2unix/unix2dos,... find ./Workbook/Examples -type f -print -exec dos2unix {} {} \; You can also do this in just a few lines of Python code (e.g., by passing eoln format arguments to the 3.X open() call for input and output), but you must know some Python to do so. ------------------------------------------------------------------------- REVISIONS LOG: 1.1: (11/99) Moved Workbook.tar.gz off to Tools; copying the Workbook directory is fast for most cases, so the tar file isn't critical. Also updated this file, added new fixeoln*.py converters to Tools, and created the CD label. Each student will get a CD now, so copying is not required (you can browse directly off the CD). 1.2: (2/00) Updated HTML workbook to incorporate about a dozen minor changes made to the paper workbook material in Feb 2000 (updated book and user lists; added new ftp, email, thread, os.path, and spawnv examples). Also fixed some old all-upper-case module and directory names to be lower case, so they work on Linux/UNIX (see the new script Tools/fixnames_all.py for details). This makes the CD and source disk more UNIX-friendly--case matters when importing modules in Python. 1.3: (12/00) Added top-level Extras directory with supplemental examples; added Python2.0 Windows self-installer to Python directory. Renamed old top-level "Html" directory to "Workbook". 1.4: (01/01) Massive updates for latest Python release features, emerging Python application domains, topics commonly discussed in classes, etc. The last part of this workbook now more closely shadows Programming Python 2nd Edition (to be published March, 2001). Also added other Python 2.0 distribution packages (source, Win, Linux, Mac). 1.5: (04/01) Added new Python2.1 release files (docs, Windows installer); code change to make a SMTP email example more robust; added a beta release of Pippy in Extras--Python for the Palm. 1.6: (11/01) Added new Python2.1.1 release files (Windows installer, source distribution, Linux RPMs, etc.). 1.7: (01/02) Added new Python2.2 release files (Windows installer, source distribution, Linux RPMs, etc.). Added XML and XML-RPC examples in Extras\Xml. 2.0: (02/03) Massive overhaul: Updated for Python changes and new topics presented in recently held classes. Roughly in synch with the 2nd Edition of the book Learning Python now. Also added wxPython.doc in Extras\Gui (alternative GUI API). 2.1: (10/03): Added Python\Python2.3 folder, containing the newest Python release. Please install from this folder, not Python2.2, unless you have unique requirements. Also added ZaurusPython in the new Python2.3 folder--Python for the Zaurus Linux-based PDA. 2.4.0 (12/04) Added Python 2.4 installers. Also changed CD (and workbook) numbering scheme to reflect the version of Python included. For example, 2.4.0 is the first version of the CD containing Python 2.4; 2.4.1 will be the first revision that contains Python 2.4. 2.4.1 (03/05) Updated and revised the class workbook (paper and HTML versions) for recent changes in Python and class presentation. Added some Tkinter support for Mac OS X Aqua, and latest SWIG. 2.5.0 (10/06) Added Python 2.5 installers, updated workbook material for Python and training class changes, added printable workbook in Tools/Workbook.pdf, and added PP3E-Examples with examples from the book Programming Python 3rd Edition. Most of the scripts in Tools were moved to its Scripts directory. See Tools\changes2.5.txt for a longer list of changes applied. 2.5.1 (02/07) Integrated a handful of minor changes and updates in Workbook material, and added latest PP3E-Examples release. See Tools\changes2.5.txt for more details. 2.6.0 (01/09) Added Python 2.6 and Python 3.0 Windows installers and source code packages in the Python folder. For more details on 2.6 and 3.0, please visit this web page: http://learning-python.com/books/lp3e-updates-notes-python.html 2.6.1 (05/09) Added Python 3.1 alpha 2 release. Added a new Advanced Topics section, with new coverage of Unicode text, decorators, metaclasses, properties and descriptors, context managers, and Python 3.0 changes (from the upcoming book Learning Python 4th Edition). Moved XML parsing from Internet to Text sections and added new examples for it. 2.6.1 (06/09) Added Python 3.1 official release (and removed the 3.1 alpha release from the CD). 2.6.2 (03/10) Added new system examples for the subprocess and multiprocessing modules, as well as IPC tools such as pipes and sockets (from the upcoming book Programming Python 4th Edition). Also added Python 3.1 source code package, for building on Cygwin, and move 3.0 to the "Old" folder. 2.7.1 (01/11) Added windows installers for Python 2.7 and 3.2. 2.7.2 Also added notes about PP4E's 3.X-based examples available online at learning-python.com/books/about-pp4e.html. 2.7.3 (02/11) Added Python 3.2. final, along with extra 2.7 install packages. Moved top-level PP3E-Examples to the Extras folder, and added a new PP4E-Examples with the newer 4th edition's example code (PP3E uses Python 2.X, and PP4E uses Python 3.X). Also moved the now-unused top-level Tools folder to Extras; probably could delete, but it still has printable workbooks. March: added matrix-code.py and NumericOverview.htm (Unit 3/4). 2.7.3 (07/12) Updated parts of the Preface and Unit 1 (general intro) sections to be more current in /Workbook. Grabbed the latest Python Windows installers (versions 2.7.3, 3.2.3, and 3.3 beta1) in /Python, and the newer 1.3.1 PP4E book examples zip in /Extras. Fixed some directory name case mismatches in HTML links for Unix. Online Web version created -- its /Python_web has no installers. 2.7.3 (09/12) Added the 3.3.0 release candidate 1 Windows installers, replacing the earlier beta releases here; the final 3.3.0 release is now set for September 22 at www.python.org. 2.7-3.3 (10/12) Added the 3.3.0 final release: Windows and Mac installers, plus source distribution. Changed CD's naming scheme to reflect both Python versions included: 2.7-3.3. Added the stand-alone version of the new Windows launcher that's installed with 3.3, for use in other versions. Also added PortablePython, a distribution that runs off a USB drive, the stand-alone Windows launcher for Pythons < 3.3, and PyPy, a faster CPython 2.X with a JIT (see Python/extras) 2.7.5/3.3.2 (10/13): Python 3.3.2 and 2.7.5 installers, Pillow (PIL), various new materials from new Learning Python, 5th Edition: MRO, super(), formal inheritance, 3.3 namespace packages, etc. 2.7-3.4 (06/15-07/15): Add latest Python 3.4 and 2.7.10 installers, general updates throughout, free PyRef5E ebook copy in Extras, frigcal-mergeall suggested self-study examples in Extras. 2.7-3.5 (10/15): Python 3.5 installers, and numerous workbook updates to reflect Python changes and current class coverage and flow. Translated all drawn FIGURES to embedded PNG files, so they work on all browsers (not just Internet Explorer). Figure files are in Workbook\Etc, which also now has other workbook-related files. Reformatted all BULLETS and SYMBOLS to render properly in Firefox (using standard fonts, not wingdings or other). The combined result is that the bullets should now render well in all browsers. Retook some very dated SCREENSHOTS on XP and Netscape (but a few were spared for their historical value; this workbook dates back to mid-1997 and Python 1.4, which affords it some rare context). Updated some examples and content to be more 3.X-FOCUSED, though there is still much 2.X-biased material; the differences are minor, and students should be able to translate very early in the class. Updated links to my book web site: thanks to an ISP outage, after 2 decades it's finally moved from www.rmi.net/~lutz on earthlink, to a godaddy server at learning-python.com/books. July 2016: assorted minor edits. Also removed the ebook copies of Python Pocket Reference in the online distribution only (in order to make the workbook public; find these on the CD or USB versions), and the old sousa.au file (replaced with search query links). October 2016: released on the web for general-audience usage. [end]