practical-python README

The project's README from github.com/dabeaz-course/practical-python. As one markdown file: README.md.

Welcome!

When I first learned Python nearly 27 years ago, I was immediately struck by how I could productively apply it to all sorts of messy work projects. Fast-forward a decade and I found myself teaching others the same fun. The result of that teaching is this course--A no-nonsense treatment of Python that has been actively taught to more than 400 in-person groups since 2007. Traders, systems admins, astronomers, tinkerers, and even a few hundred rocket scientists who used Python to help land a rover on Mars--they've all taken this course. Now, I'm pleased to make it available under a Creative Commons license--completely free of spam, signups, and other nonsense. Enjoy!

GitHub Pages | GitHub Repo.

--David Beazley (https://dabeaz.com), @dabeaz

(P.S. This course is about Python. If you want a Python course that's about programming, you might consider Advanced Programming with Python)

What is This?

The material you see here is the heart of an instructor-led Python training course used for corporate training and professional development. It was in continual development from 2007 to 2019 and battle tested in real-world classrooms. Usually, it's taught in-person over the span of three or four days--requiring approximately 25-35 hours of intense work. This includes the completion of approximately 130 hands-on coding exercises.

Target Audience

Students of this course are usually professional scientists, engineers, and programmers who already have experience in at least one other programming language. No prior knowledge of Python is required, but knowledge of common programming topics is assumed. Most participants find the course challenging--even if they've already been doing a bit of Python programming.

Course Objectives

The goal of this course is to cover foundational aspects of Python programming with an emphasis on script writing, basic data manipulation, and program organization. By the end of this course, students should be able to start writing useful Python programs on their own or be able to understand and modify Python code written by their coworkers.

Requirements

To complete this course, you need nothing more than a basic installation of Python 3.6 or newer and time to work on it.

What This Course is Not

This is not a course for absolute beginners on how to program a computer. It is assumed that you already have programming experience in some other programming language or Python itself.

This is not a course on web development. That's a different circus. However, if you stick around for this circus, you'll still see some interesting acts--just nothing involving animals.

This is not a course on using tools that happen to be written in Python. It's about learning the core Python language.

This is not a course for software engineers on how to write or maintain a one-million line Python application. I don't write programs like that, nor do most companies who use Python, and neither should you. Delete something already!

Take me to the Course Already!

Ok, ok. Point your browser HERE!

Community Discussion

Want to discuss the course? Feel free to use GitHub Discussions. I can't promise an individual response, but perhaps others can jump in to help.

Acknowledgements

Llorenç Muntaner was instrumental in converting the course content from Apple Keynote to the online structure that you see here.

Various instructors have presented this course at one time or another over the last 12 years. This includes (in alphabetical order): Ned Batchelder, Juan Pablo Claude, Mark Fenner, Michael Foord, Matt Harrison, Raymond Hettinger, Daniel Klein, Travis Oliphant, James Powell, Michael Selik, Hugo Shi, Ian Stokes-Rees, Yarko Tymciurak, Bryan Van de ven, Peter Wang, and Mark Wiebe.

I'd also like to thank the thousands of students who have taken this course and contributed to its success with their feedback and discussion.

Questions and Answers

Q: Are there course videos I can watch?

No. This course is about you writing Python code, not watching someone else.

Q: How is this course licensed?

Practical Python Programming is licensed under a Creative Commons Attribution ShareAlike 4.0 International License.

Q: May I use this material to teach my own Python course?

Yes, as long as appropriate attribution is given.

Q: May I make derivative works?

Yes, as long as such works carry the same license terms and provide attribution.

Q: Can I translate this to another language?

Yes, that would be awesome. Send me a link when you're done.

Q: Can I live-stream the course or make a video?

Yes, go for it! You'll probably learn a lot of Python doing that.

Q: Why wasn't topic X covered?

There is only so much material that you can cover in 3-4 days. If it wasn't covered, it was probably because it was once covered and it caused everyone's head to explode or there was never enough time to cover it in the first place. Also, this is a course, not a Python reference manual.

Q: Why isn't awesome {command} in awesome {tool} covered?

The focus of this course is on learning the core Python language, not learning the names of commands in tools.

Q: Is this course being maintained or updated?

This course represents a "finished product" that was taught and developed for more than decade. I have no plans to significantly revise the material at this time, but will occasionally fix bugs and add clarification.

Q: Do you accept pull requests?

Bug reports are appreciated and may be filed through the issue tracker. Pull requests are not accepted except by invitation. Please file an issue first.

practical-python (dabeaz-course/practical-python)

Searching Database…

这是什么?这是一门由讲师授课的 Python 培训课程的教材,自 2007 年以来已线下面向 400 多个班组讲授,内容为 Python 基础,配有约 130 道动手编程练习。
这是视频课程,还是要自己阅读和练习的材料?这是需要你自己研读的文字课程材料——没有视频;学习过程中你要自己编写并运行 Python 代码。
我该如何开始这门课程?在 GitHub Pages 网站上浏览课程材料,按顺序学习各章节和练习;你只需要有一个可用的 Python 安装环境。
上这门课需要先有编程经验吗?不需要任何 Python 基础,但课程假定你至少已经掌握一门其他编程语言,并且安装了 Python 3.6 或更新版本。
这门课程还在积极更新吗?没有。它被视为历时十年打磨完成的成品,作者只是偶尔修复 bug,没有进行大修的计划。
通常哪些人会学这门课?它面向职场专业人士——科学家、工程师、系统管理员、交易员和研究人员——而不是编程零基础的初学者。
我可以复用这些材料来讲我自己的 Python 课吗?可以。本课程采用 Creative Commons Attribution ShareAlike 4.0 许可,只要注明出处并保持相同许可,你就可以用它授课或创作衍生作品。
这门课通常需要多长时间?课程通常讲授 3-4 天,需要大约 25-35 小时的高强度学习,外加完成约 130 道动手编程练习。
这是 Web 开发或软件工程课程吗?不是。作者明确表示这不是 Web 开发课程,也不涉及维护数百万行代码的大型应用;它纯粹聚焦于 Python 语言核心技能。
我可以翻译或直播这门课吗?可以。作者明确欢迎翻译和直播这些材料,只要求翻译完成后提供一个链接。
David Beazley 为什么免费发布这门课?从 2007 年起线下面授多年之后,他决定以 Creative Commons 许可发布这门课程,没有广告、无需注册,任何人都可以使用。
Size
0.5 MB
Stars
10.9K
Updated
CommitDec 22
Age
6y
Commits · 90 Days