116 lines
4.5 KiB
Markdown
116 lines
4.5 KiB
Markdown
# Advanced Python Mastery
|
|
|
|
A course by David Beazley (https://www.dabeaz.com)
|
|
Copyright (C) 2007-2023
|
|
|
|
## Synopysis
|
|
|
|
An exercise-driven course on Advanced Python Programming that was
|
|
battle-tested several hundred times on the corporate-training circuit
|
|
for more than a decade. Written by David Beazley, author of the
|
|
Python Cookbook, 3rd Edition (O'Reilly) and Python Distilled
|
|
(Addison-Wesley). Released under a Creative Commons license. Free of
|
|
ads, tracking, pop-ups, newletters, and AI.
|
|
|
|
## Target Audience
|
|
|
|
This course is for Python programmers who want to move beyond
|
|
short scripts to writing more sophisticated programs. Topics
|
|
focus on programming techniques that get used in popular libraries and
|
|
frameworks. The primary goal is to better understand the Python language
|
|
itself so that you can understand other people's code and so that you
|
|
can apply your newfound knowledge to your own projects.
|
|
|
|
## Prerequisites
|
|
|
|
You already know some Python. This is not a course for beginners.
|
|
For more introductory material, you might consider the
|
|
[Practical Python Programming](https://dabeaz-course.github.io/practical-python) course.
|
|
|
|
## How to Take the Course
|
|
|
|
To take the course, you should first fork/clone the GitHub repo to your own
|
|
machine.
|
|
|
|
It is assumed that you are working locally in a proper Python
|
|
development environment. That means a proper installation of Python,
|
|
an editor/IDE, and whatever other tools that you would normally
|
|
install to work on Python. Due to the use of multiple files and
|
|
module imports, the use of Notebooks is not recommended.
|
|
|
|
The [`PythonMastery.pdf`](PythonMastery.pdf) file contains detailed
|
|
presentation slides. Course exercises and suggested timings are
|
|
clearly indicated. You'll want to keep this by your side (I recommend
|
|
downloading and viewing it with a local PDF viewer). Start here!
|
|
|
|
The [Exercises/](Exercises/index.md) directory has all of the
|
|
course exercises.
|
|
|
|
The [Solutions/](Solutions/) directory has fully worked out solution code.
|
|
|
|
The [Data/](Data/) directory has some datafiles used during the course.
|
|
|
|
The course was originally taught over 4-5 days in an in-person
|
|
classroom setting with a mix of lecture and hands-on exercises.
|
|
Successful completion of the course will likely require 30-50 hours of
|
|
work. Exercises tend to build upon each other. Solutions are always
|
|
provided in case you get stuck.
|
|
|
|
## Supplemental Material
|
|
|
|
The Advanced Python Mastery course often suggested more in-depth tutorials
|
|
on selected topics. These were presented at the PyCon conference and
|
|
might be of interest:
|
|
|
|
* [Generator Tricks for Systems Programmers](https://www.dabeaz.com/generators/)
|
|
* [A Curious Course on Coroutines and Concurrency](http://dabeaz.com/coroutines/index.html)
|
|
* [Python3 Metaprogramming](https://dabeaz.com/py3meta/index.html)
|
|
* [Generators: The Final Frontier](https://dabeaz.com/finalgenerator/index.html)
|
|
* [Modules and Packages: Live and Let Die](https://dabeaz.com/modulepackage/index.html)
|
|
|
|
## Questions and Answers
|
|
|
|
**Q: Are any videos available?**
|
|
|
|
**A:** No. You will be able to more quickly read the presentation slides which contain
|
|
technical information. However, the [Python Programming Language: LiveLessons](https://www.safaribooksonline.com/library/view/python-programming-language/9780134217314/) video
|
|
available on O'Reilly's Safari site is closely related to the material in this course.
|
|
|
|
**Q: Can I use these materials in my own course?**
|
|
|
|
**A:** Yes. I just kindly ask that you give proper attribution.
|
|
|
|
**Q: Do you accept bug reports or pull requests?**
|
|
|
|
**A:** If you've found a bug, please report it! However, I'm not
|
|
looking to expand or reorganize the course content with new topics or
|
|
exercises.
|
|
|
|
**Q: Are the presentation slides available in any format other than PDF?**
|
|
|
|
**A:** No.
|
|
|
|
**Q: Is there any forum/chat where the course can be discussed?**
|
|
|
|
**A:** You can use [GitHub discussions](https://github.com/dabeaz-course/python-mastery/discussions) to discuss the course.
|
|
|
|
**Q: What wasn't topic/tool/library X covered?**
|
|
|
|
**A:** The course was designed to be completed in an intense 4-day
|
|
in-person format. It simply isn't possible to cover absolutely
|
|
everything. As such, the course is focused primarily on the core
|
|
Python language, not third party libraries or tooling.
|
|
|
|
----
|
|
`>>>` Advanced Python Mastery
|
|
`...` A course by [dabeaz](https://www.dabeaz.com)
|
|
`...` Copyright 2007-2023
|
|
|
|
. This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/)
|
|
|
|
|
|
|
|
|
|
|
|
|