This repository contains the code written for the LiveLessons: Python Programming Language, by David Beazley, published by Addison-Wesley Professional, ISBN: 0134217314. August, 2016.
You can purchase the companion video on Safari.
Sample lessons can be viewed on InformIT.
The "Python Programming Language" video consists 6.5 hours of live-coded examples, primarily aimed at intermediate level programmers who want to take their Python skills to the next level. The goal is to cover all of the major features of the language ranging from basic data manipulation to more advanced topics such as decorators, metaclasses, and coroutines.
The organization of this repository matches that of the video. The code/
directory contains the code. This directory is organized by lesson number
and section (if applicable). Many of the exercises involving reading data
files that can be found in the Data/
folder. For things to work
correctly, you should change to the corresponding directory and run the
code from there. Otherwise, you might need to fiddle with file paths.
- Lesson 1: Working Environment.
- Lesson 2: Program Structure and Execution Model
- Lesson 3: Text Processing and Files
- Lesson 4: Functions and Error Handling
- Lesson 5: Data Structures and Data Manipulation
- Lesson 6: Library Functions and Import
- Lesson 7: Classes and Objects
- Lesson 8: Inheritance
- Lesson 9: Python Magic Methods (a.k.a., Speaking Python)
- Lesson 10: Encapsulation (Owning the Dot)
- Lesson 11: Higher Order Functions and Closures
- Lesson 12: Metaprogramming and Decorators
- Lesson 13: Metaclasses
- Lesson 14: Iterators and Generators
- Lesson 15: Coroutines
Q: Is the companion video available for free?
A: No. The video is a commercial product sold by Addison-Wesley Professional.
Q: I've found an error, can I submit a bug report?
A: Yes. Please submit errors as a new issue on Github.
Q: Is there a discussion forum where I can ask questions?
A: Yes, Dave there is a Discourse forum at https://forum.dabeaz.com/c/python-programming-language-video
Special thanks to Yarko Tymciurak for help in organizing the source code in this repository.