欢迎光临
大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了。15 年前,我自己也将这种乐趣教授给别人。教学的结果就是本课程——一门实用的学习 Python的课程。本课程自 2007 年面世以来,已经被应用到400多个团体的面对面教学中。这些团体中包含了交易员、系统管理员、天文学家、修理工以及上百名使用 Python 帮助火星探测器着陆的火箭科学家。现在,我很高兴能够在知识共享协议下将这份课程共享给大家。
--David Beazley (https://dabeaz.com), @dabeaz
这是什么?
您在这里看到的这份材料是以讲师为主导的 Python 培训课程的核心内容。该课程用于企业培训和职业发展。自 2007 年以来,这门课程一直在不断地完善,并且在现实课堂中经受了实战的检验。一般来说,这门课程在3至4天内被面授给学习者——大约需要25至35个小时的高强度学习。这包括完成大约 130 道动手编程练习。
课程受众
本课程的学员通常是专业的科学家、工程师和程序员,他们已经有至少一种其它编程语言的经验。不需要事先掌握 Python 的相关知识,但是需要具备通用的编程知识。大部分学员觉得这门课程具有挑战性——尽管他们已经使用过 Python 进行编程。
课程目标
本课程的目标是涵盖 Python 编程的基础方面,重点是脚本编写、数据操作和程序组织。在本课程结束时,学员应该能够开始独立地编写有用的 Python 程序,或者能够理解和修改合作者编写的代码。
课程要求
要完成本门课程,需要安装 Python 3.6 或者更高的版本,以及腾出学习本课程的时间。
本课程不包含的内容
这不是一门为计算机编程初学者开设的课程。本课程假设您已经有 Python 语言或者其它语言的编程经验。
这不是一门关于 web 开发的课程。那是另一个“马戏团”,然而,如果您留在这个“马戏团”,您仍会看到一些有趣的表演——只是没有动物。(译者注:原文这里使用的是 circus,可以理解为:本课程不涉及 web 开发, web 开发是另一个主题,但是如果您仍留下来学习本课程,您也会有所收获)
这不是一门为软件工程师开设的关于如何编写和维护一个百万行 Python 应用程序的课程。我不写那样的程序,大多数使用 Python 的公司也不这样做,同样,您也不需要。这样的内容已经删除了。
马上带我访问课程
请点击 这里。
社区讨论
想要讨论课程吗?您可以在 Gitter 上加入会话。我不一定能够回复每个人,但其他人也许可以帮上忙。
致谢
Llorenç Muntaner 在将课程内容从 Apple Keynote 转换为您在这里看到的在线版本方面发挥了重要作用。
在过去的 12 年里,不同的讲师曾在不同的时间讲过这门课程。这其中包括(按字母顺序):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。
还要感谢成千上万学习过本门课程的学员,你们对本课程进行反馈以及讨论,为本课程的成功做出了贡献。
问题和解答
问题:有课程视频可以观看吗?
没有,这门课程是让您写代码的,而不是看别人写代码。
问题: 这门课程是如何授权的?
本课程采用知识共享协议 ShareAlike 4.0 国际许可协议进行授权。
问题: 我教自己的 Python 课程时可以使用这份材料吗?
可以,只要注明出处即可。
问题: 我可以制作衍生作品吗?
可以,只要这些作品遵循相同的许可条款并且提供出处。
问题:我可以把这门课程翻译成其它语言吗?
可以,这非常棒。完成后请给我发送一个链接。
问题: 我可以直播课程或者制作视频吗?
可以,去做吧。如果您这样做,您将会学到很多 Python 知识。
问题: 为什么没有包含某个内容?
在3 -4 天的时间里,只能安排这么多内容了。如果没有讲某个内容,很可能是因为曾经讲了这个内容,但是大家头都炸了,或者一开始就没有足够到时间去讲。另外,这是一门课程,而不是 Python 参考手册。
问题: 您接受 pull 请求吗?
如果您能为本课程报告 Bug,我们将不胜感激,可以通过 issue tracker 进行提交。
除非是被邀请,否则不接受拉取请求,请先提交 issue。
注:完整翻译见 https://github.com/codists/practical-python-zh