{"id":13472056,"url":"https://github.com/dabeaz-course/practical-python","last_synced_at":"2025-05-13T18:07:39.964Z","repository":{"id":37517831,"uuid":"266613704","full_name":"dabeaz-course/practical-python","owner":"dabeaz-course","description":"Practical Python Programming (course by @dabeaz)","archived":false,"fork":false,"pushed_at":"2024-08-10T03:38:37.000Z","size":469,"stargazers_count":10169,"open_issues_count":15,"forks_count":6767,"subscribers_count":341,"default_branch":"master","last_synced_at":"2025-04-25T14:50:32.222Z","etag":null,"topics":["python","pythontutorial","tutorial"],"latest_commit_sha":null,"homepage":"https://dabeaz-course.github.io/practical-python","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}},"created_at":"2020-05-24T19:50:08.000Z","updated_at":"2025-04-25T07:43:17.000Z","dependencies_parsed_at":"2023-02-04T09:00:49.784Z","dependency_job_id":"8789cd47-8700-429d-b122-3456fa296818","html_url":"https://github.com/dabeaz-course/practical-python","commit_stats":{"total_commits":196,"total_committers":29,"mean_commits":6.758620689655173,"dds":0.25,"last_synced_commit":"3c00ff81b7b61eae7ef79a760d60687f9fcf0a81"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabeaz-course%2Fpractical-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabeaz-course%2Fpractical-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabeaz-course%2Fpractical-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabeaz-course%2Fpractical-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dabeaz-course","download_url":"https://codeload.github.com/dabeaz-course/practical-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000849,"owners_count":21997441,"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","pythontutorial","tutorial"],"created_at":"2024-07-31T16:00:51.502Z","updated_at":"2025-05-13T18:07:39.940Z","avatar_url":"https://github.com/dabeaz-course.png","language":"Python","readme":"# Welcome!\n\nWhen I first learned Python nearly 27 years ago, I was immediately\nstruck by how I could productively apply it to all sorts of messy work\nprojects. Fast-forward a decade and I found myself teaching others the\nsame fun.  The result of that teaching is this course--A no-nonsense\ntreatment of Python that has been actively taught to more than 400\nin-person groups since 2007.  Traders, systems admins, astronomers,\ntinkerers, and even a few hundred rocket scientists who used Python to\nhelp land a rover on Mars--they've all taken this course. Now, I'm\npleased to make it available under a Creative Commons license--completely\nfree of spam, signups, and other nonsense. Enjoy!\n\n[GitHub Pages](https://dabeaz-course.github.io/practical-python) | [GitHub Repo](https://github.com/dabeaz-course/practical-python).\n\n--David Beazley ([https://dabeaz.com](https://dabeaz.com)), [@dabeaz](https://mastodon.social/@dabeaz)\n\n(P.S. This course is about Python. If you want a Python course that's about programming,\nyou might consider [Advanced Programming with Python](https://www.dabeaz.com/advprog.html))\n\n## What is This?\n\nThe material you see here is the heart of an instructor-led Python\ntraining course used for corporate training and professional\ndevelopment. It was in continual development from 2007 to 2019 and\nbattle tested in real-world classrooms.  Usually, it's taught\nin-person over the span of three or four days--requiring approximately\n25-35 hours of intense work. This includes the completion of\napproximately 130 hands-on coding exercises.\n\n## Target Audience\n\nStudents of this course are usually professional scientists,\nengineers, and programmers who already have experience in at least one\nother programming language. No prior knowledge of Python is required,\nbut knowledge of common programming topics is assumed.  Most\nparticipants find the course challenging--even if they've already been\ndoing a bit of Python programming.\n\n## Course Objectives\n\nThe goal of this course is to cover foundational aspects of Python\nprogramming with an emphasis on script writing, basic data manipulation, and\nprogram organization.  By the end of this course, students should be\nable to start writing useful Python programs on their own or be able\nto understand and modify Python code written by their\ncoworkers.\n\n## Requirements\n\nTo complete this course, you need nothing more than a basic\ninstallation of Python 3.6 or newer and time to work on it.\n\n## What This Course is Not\n\nThis is not a course for absolute beginners on how to program a\ncomputer.  It is assumed that you already have programming experience\nin some other programming language or Python itself.\n\nThis is not a course on web development.  That's a different\ncircus. However, if you stick around for this circus, you'll still see\nsome interesting acts--just nothing involving animals.\n\nThis is not a course on using tools that happen to be written\nin Python. It's about learning the core Python language.\n\nThis is not a course for software engineers on how to write or\nmaintain a one-million line Python application. I don't write programs\nlike that, nor do most companies who use Python, and neither should\nyou. Delete something already!\n\n## Take me to the Course Already!\n\nOk, ok. Point your browser [HERE](Notes/Contents.md)!\n\n## Community Discussion\n\nWant to discuss the course?  You can join the conversation on\n[Gitter](https://gitter.im/dabeaz-course/practical-python).  I can't\npromise an individual response, but perhaps others can jump in to help.\n\n## Acknowledgements\n\nLlorenç Muntaner was instrumental in converting the course content from\nApple Keynote to the online structure that you see here.\n\nVarious instructors have presented this course at one time or another\nover the last 12 years. This includes (in alphabetical order): Ned\nBatchelder, Juan Pablo Claude, Mark Fenner, Michael Foord, Matt\nHarrison, Raymond Hettinger, Daniel Klein, Travis Oliphant, James\nPowell, Michael Selik, Hugo Shi, Ian Stokes-Rees, Yarko Tymciurak,\nBryan Van de ven, Peter Wang, and Mark Wiebe.\n\nI'd also like to thank the thousands of students who have taken this\ncourse and contributed to its success with their feedback and\ndiscussion.\n\n## Questions and Answers\n\n### Q: Are there course videos I can watch?\n\nNo. This course is about you writing Python code, not watching someone else.\n\n### Q: How is this course licensed?\n\nPractical Python Programming is licensed under a Creative Commons Attribution ShareAlike 4.0 International License.\n\n### Q: May I use this material to teach my own Python course?\n\nYes, as long as appropriate attribution is given.\n\n### Q: May I make derivative works?\n\nYes, as long as such works carry the same license terms and provide attribution.\n\n### Q: Can I translate this to another language?\n\nYes, that would be awesome.  Send me a link when you're done.\n\n### Q: Can I live-stream the course or make a video?\n\nYes, go for it!  You'll probably learn a lot of Python doing that.\n\n### Q: Why wasn't topic X covered?\n\nThere is only so much material that you can cover in 3-4 days.  If\nit wasn't covered, it was probably because it was once covered and it\ncaused everyone's head to explode or there was never enough time to\ncover it in the first place.   Also, this is a course, not a Python\nreference manual.\n\n### Q: Why isn't awesome `{command}` in awesome `{tool}` covered?\n\nThe focus of this course is on learning the core Python language,\nnot learning the names of commands in tools.\n\n### Q: Is this course being maintained or updated?\n\nThis course represents a \"finished product\" that was taught and\ndeveloped for more than decade.  I have no plans to significantly\nrevise the material at this time, but will occasionally fix bugs and\nadd clarification.\n\n### Q: Do you accept pull requests?\n\nBug reports are appreciated and may be filed through the\n[issue tracker](https://github.com/dabeaz-course/practical-python/issues).\nPull requests are not accepted except by invitation. Please file an issue first.\n\n","funding_links":[],"categories":["Python","Don't forget to give a :star: to make the project popular","HarmonyOS","Python 程序"],"sub_categories":["Windows Manager","网络服务_其他","Python learning"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdabeaz-course%2Fpractical-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdabeaz-course%2Fpractical-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdabeaz-course%2Fpractical-python/lists"}