HTTP/2 302
server: nginx
date: Fri, 01 Aug 2025 14:44:16 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090421075810
location: https://web.archive.org/web/20090421075810/https://www.oreillynet.com/pub/au/446
server-timing: captures_list;dur=0.804472, exclusion.robots;dur=0.025798, exclusion.robots.policy;dur=0.011832, esindex;dur=0.018135, cdx.remote;dur=14.848776, LoadShardBlock;dur=360.830402, PetaboxLoader3.datanode;dur=127.660522, PetaboxLoader3.resolve;dur=137.829969
x-app-server: wwwb-app212
x-ts: 302
x-tr: 408
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: SERVER=wwwb-app212; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Fri, 01 Aug 2025 14:44:17 GMT
content-type: text/html; charset=ISO-8859-1
x-archive-orig-date: Tue, 21 Apr 2009 07:57:45 GMT
x-archive-orig-server: Apache
x-archive-orig-p3p: policyref="https://www.oreillynet.com/w3c/p3p.xml",CP="CAO DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONo OUR DELa PUBi OTRa IND PHY ONL UNI PUR COM NAV INT DEM CNT STA PRE"
x-archive-orig-connection: close
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: iso-8859-1
memento-datetime: Tue, 21 Apr 2009 07:58:10 GMT
link:
; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 11 Mar 2002 10:47:12 GMT", ; rel="prev memento"; datetime="Sat, 21 Mar 2009 09:00:36 GMT", ; rel="memento"; datetime="Tue, 21 Apr 2009 07:58:10 GMT", ; rel="next memento"; datetime="Wed, 10 Jun 2009 03:23:17 GMT", ; rel="last memento"; datetime="Sat, 29 Oct 2022 06:02:48 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 51_9_20090421073814_crawl103-c/51_9_20090421075705_crawl101.arc.gz
server-timing: captures_list;dur=0.561180, exclusion.robots;dur=0.019481, exclusion.robots.policy;dur=0.010308, esindex;dur=0.012156, cdx.remote;dur=26.395977, LoadShardBlock;dur=166.468956, PetaboxLoader3.datanode;dur=142.486236, PetaboxLoader3.resolve;dur=437.187678, load_resource;dur=484.116616
x-app-server: wwwb-app212
x-ts: 200
x-tr: 756
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
Mark Lutz
Mark Lutz
Python author/trainer
Biography
Mark Lutz is the world leader in
Python
training, the author of Python's earliest and best-selling texts, and a
pioneering figure in the Python community.
Mark is the author of the popular O'Reilly books
Programming Python ,
Python Pocket Reference ,
and Learning Python , all currently in 3rd Editions. He has been using and promoting Python since 1992, started writing Python books in 1995, and began teaching Python classes in 1997. As of early 2009, Mark has instructed 225 Python training sessions, taught over 3,000 students, and written Python books which have sold roughly a quarter of a million copies and been translated to over a dozen languages.
In addition, he holds BS and MS degrees in computer science from the University of Wisconsin, and over the last 25 years has worked as a professional developer on compilers, programming tools, scripting applications, and assorted client/server systems.
Mark can be reached on the web at www.rmi.net/~lutz .
Articles
You need to enable JavaScript to view more than 15 articles by this author.
When Pythons Attack
Publish Date: Feb. 5, 2004
Mark Lutz, coauthor of the recently released Learning Python, 2nd Edition , offers tips, gleaned from his first-hand experience as a Python trainer, on the most
common programming and coding mistakes that new Python programmers make. For seasoned Python programmers, Mark offers tips on working with Python's larger features, such as datatypes, functions, modules, and classes.