为什么我要编写关于Python的编程书并免费赠送

我一直在讲授编程编程一段时间了,说实话,当我这样做时我真的很喜欢它,所以我开始写一本关于Python的书。 直到有人要求我帮忙编写程序之前,写书从来都不是我的事。 我帮助了他们,并为他们正在学习的语言(Python)传递了相当全面的路线图。 过了一会儿,我收到了一封非常不错的谢谢邮件,并被告知我应该考虑教这些东西(我只教过编程断断续续的知识,这不是认真的事情)。 该电子邮件使我意识到我确实很喜欢教学,这是我想要追求的东西。 我曾想过要给予一些帮助,但我想吸引更多的读者,这就是那本书的来源。 我在学习编程时遇到的一个问题是,我会使用的任何资源要么太技术性,太快了,要么没有提供额外的(我认为是必需的)计算机科学主题,这些主题无法帮助人们理解编程。 我想写一本书,以简单的解释开始,并逐步以稳健,可管理的速度介绍这些重要的计算机科学主题。 没有什么会淹没初学者的。 我还想开车回家,教什么才是优秀的程序员:良好的解决问题的能力,解决问题的方法,跳出思维的框框。 大约五个星期前,我开始写“ Slither into Python”,旨在解决这些问题,我真的很喜欢它。 我说过,当我完成第7章时,我将免费发行该书。今天,我完成了第7章,并将Slither的第一部分发布到Python中。 我决定免费提供它,因为我是免费和开源软件的大力拥护者,而且我也相信信息应该是免费的(不是所有,但是..像这样的东西)。 它还不完整,我还有21章要走,它们将比上一章更长,更复杂,但我至少每周要发布一章。 我也乐于接受反馈和建设性的批评。…

从头开始进行基于属性的测试(在Python中)

使用没有框架的,基于属性的单个简短测试来指导涉及the年的棘手的日期逻辑的开发。 (这篇文章是基于我正在努力介绍基于属性的测试以用于实际应用的书的第一章。) 你自己最大的敌人:你过去的自我 我已经记不清程序员面对痛苦的表情告诉过我多少次程序员过去的代码了。 我肯定写了很多充满缺陷的代码,从小错误到逻辑完全失败。 有时,我编写的旧代码会让我觉得自己在回避正确的工作方式! 想象一下,您过去的经历对年龄检查功能起了第一作用。 看起来还不错。 我的意思是,这是不对的,如果您对日历做了很多事情,您可能会指出可能的问题区域((年),但这似乎是一个不错的起点。 是时候编写一些测试了! 也许一些简单的入门… 我根本没有使用任何测试框架,但是您当然应该使用。 我在这里要做的是完全从头开始介绍基于属性的测试的想法,因此所有这些代码都可以运行,而无需安装单个库。 我既没有使用内置的unittest框架来避免样板,也没有使用pytest和hypothesis库来看起来像将来的代码。 只需将所有文件放在同一目录中,然后运行测试文件即可运行测试。 但是无论如何,还算不错! 好吧,现在发现这些leap年问题的所有优势案例是什么? 让我看看,如果某人真的在一个月初出生,那么我们的数学将无法正常工作,因为到他们21岁生日时已经有多个multiple年了,这意味着……等等,为什么我们要编写关于我们的知识的测试功能实现了吗?…