{"id":13419253,"url":"https://github.com/dabeaz-course/python-mastery","last_synced_at":"2025-05-13T21:10:12.377Z","repository":{"id":181723459,"uuid":"667202625","full_name":"dabeaz-course/python-mastery","owner":"dabeaz-course","description":"Advanced Python Mastery (course by @dabeaz)","archived":false,"fork":false,"pushed_at":"2024-08-10T17:51:39.000Z","size":5327,"stargazers_count":10945,"open_issues_count":3,"forks_count":1869,"subscribers_count":87,"default_branch":"main","last_synced_at":"2025-04-29T13:14:46.574Z","etag":null,"topics":["python","python-tutorial","tutorial"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dabeaz-course.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-17T01:11:15.000Z","updated_at":"2025-04-29T10:45:24.000Z","dependencies_parsed_at":"2024-01-11T14:12:18.455Z","dependency_job_id":"aff6006c-6742-4457-86be-5360bc939118","html_url":"https://github.com/dabeaz-course/python-mastery","commit_stats":null,"previous_names":["dabeaz-course/python-mastery"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabeaz-course%2Fpython-mastery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabeaz-course%2Fpython-mastery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabeaz-course%2Fpython-mastery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabeaz-course%2Fpython-mastery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dabeaz-course","download_url":"https://codeload.github.com/dabeaz-course/python-mastery/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254029002,"owners_count":22002283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","python-tutorial","tutorial"],"created_at":"2024-07-30T22:01:13.407Z","updated_at":"2025-05-13T21:10:07.310Z","avatar_url":"https://github.com/dabeaz-course.png","language":"Python","readme":"# Advanced Python Mastery\n\nA course by David Beazley (https://www.dabeaz.com)  \nCopyright (C) 2007-2024  \n\n## Synopsis\n\nAn exercise-driven course on Advanced Python Programming that was\nbattle-tested several hundred times on the corporate-training circuit\nfor more than a decade.  Written by David Beazley, author of the\n[Python Cookbook, 3rd Edition](https://www.dabeaz.com/cookbook.html) (O'Reilly) and \n[Python Distilled](https://www.dabeaz.com/python-distilled/index.html)\n(Addison-Wesley).  Released under a Creative Commons license.  Free of\nads, tracking, pop-ups, newsletters, and AI.\n\nEverything in this course should work with the latest version of\nPython, but be aware that the course primarily targets the feature set\nof Python 3.6.  As such, certain modern features don't get coverage. \nHonestly, this shouldn't affect you much unless you're trying to write code\nthat's freakishly clever.\n\n## Target Audience \n\nThis course is for Python programmers who want to move beyond \nshort scripts to writing more sophisticated programs.    To do that,\nit helps to better understand the programming techniques used\nin popular libraries and frameworks. Thus, this course is mainly \nfor programmers who want to build a more complete mental model of the\nPython language itself and how it works.  Ultimately, the goal\nis to be able to apply this knowledge to your own projects.\n\n## Prerequisites\n\nYou already know some Python.  This is not a course for beginners.\nFor more introductory material, you might consider the\n[Practical Python Programming](https://dabeaz-course.github.io/practical-python) course.\n\n## How to Take the Course\n\nTo take the course, you should first fork/clone the GitHub repo to your own\nmachine.\n\nIt is assumed that you are working locally in a proper Python\ndevelopment environment.  That means a proper installation of Python,\nan editor/IDE, and whatever other tools that you would normally\ninstall to work on Python.  Due to the use of multiple files and\nmodule imports, the use of Notebooks is not recommended.\n\nThe [`PythonMastery.pdf`](PythonMastery.pdf) file contains detailed\npresentation slides. Course exercises and suggested timings are\nclearly indicated. You'll want to keep this by your side (I recommend\ndownloading and viewing it with a local PDF viewer). Start here! \n\nThe [Exercises/](Exercises/index.md) directory has all of the\ncourse exercises. \n\nThe [Solutions/](Solutions/) directory has fully worked out solution code.\n\nThe [Data/](Data/) directory has some datafiles used during the course.\n\nThe course was originally taught over 4-5 days in an in-person\nclassroom setting with a mix of lecture and hands-on exercises.\nSuccessful completion of the course will likely require 30-50 hours of\nwork.  Exercises tend to build upon each other.  Solutions are always\nprovided in case you get stuck.\n\n## Supplemental Material\n\nThe Advanced Python Mastery course often suggested more in-depth tutorials\non selected topics.  These were presented at the PyCon conference and\nmight be of interest:\n\n* [Generator Tricks for Systems Programmers](https://www.dabeaz.com/generators/)\n* [A Curious Course on Coroutines and Concurrency](http://dabeaz.com/coroutines/index.html)\n* [Python3 Metaprogramming](https://dabeaz.com/py3meta/index.html)\n* [Generators: The Final Frontier](https://dabeaz.com/finalgenerator/index.html)\n* [Modules and Packages: Live and Let Die](https://dabeaz.com/modulepackage/index.html)\n\n## Questions and Answers\n\n**Q: Are any videos available?**\n\n**A:** No. You will be able to more quickly read the presentation slides which contain\ntechnical information.  However, the [Python Programming Language: LiveLessons](https://www.safaribooksonline.com/library/view/python-programming-language/9780134217314/) video\navailable on O'Reilly's Safari site is closely related to the material in this course.\n\n**Q: Can I use these materials in my own course?**\n\n**A:** Yes. I just kindly ask that you give proper attribution.\n\n**Q: Do you accept bug reports or pull requests?**\n\n**A:** If you've found a bug, please report it!  However, I'm not\nlooking to expand or reorganize the course content with new topics or\nexercises.\n\n**Q: Are the presentation slides available in any format other than PDF?**\n\n**A:** No.\n\n**Q: Is there any forum/chat where the course can be discussed?**\n\n**A:** You can use [GitHub discussions](https://github.com/dabeaz-course/python-mastery/discussions) to discuss the course.\n\n**Q: Why wasn't topic/tool/library X covered?**\n\n**A:** The course was designed to be completed in an intense 4-day\nin-person format. It simply isn't possible to cover absolutely\neverything.  As such, the course is focused primarily on the core\nPython language, not third party libraries or tooling.\n\n**Q: Why aren't features like typing, async, or pattern matching covered?**\n\n**A:** Mainly, it's an issue of calendar timing and scope.  Course\nmaterial was primarily developed pre-pandemic and represents Python as\nit was at that time. Some topics (e.g., typing or async) are\nsufficiently complex that they would be better covered on their own\nin a separate course.\n\n**Q: Do you have plans to modernize the course?**\n\n**A:** It is my intention that everything in the course apply to the\nlatest version of Python.  Unless Python makes backwards-incompatible\nchanges to the core language, that should hold.  Although the course\ndoesn't cover every new features, I won't rule out future changes.  A\nlot depends on my available time and interest however.  So, I make no\npromises.\n\n**Q: Why did you release the course?**\n\n**A:** This course was extensively taught pre-pandemic. Post-pandemic,\nmy teaching has shifted towards projects and CS fundamentals.\nHowever, why let a good course just languish on my computer? \n\n**Q: How can I help?**\n\n**A:** If you like the course, the best way to support it is to tell\nother people about it.\n\n----\n`\u003e\u003e\u003e` Advanced Python Mastery  \n`...` A course by [dabeaz](https://www.dabeaz.com)  \n`...` Copyright 2007-2023  \n\n![](https://i.creativecommons.org/l/by-sa/4.0/88x31.png). This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/)\n\n\n\n\n\n\n","funding_links":[],"categories":["Python","Dev","Python 程序"],"sub_categories":["网络服务_其他"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdabeaz-course%2Fpython-mastery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdabeaz-course%2Fpython-mastery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdabeaz-course%2Fpython-mastery/lists"}