程序员数学:用Python学透线性代数和微积分
上QQ阅读APP看书,第一时间看更新

第 1 章 通过代码学数学

本章内容

  • 将数学知识和软件开发结合起来解决商业问题
  • 绕开学习数学时的常见陷阱
  • 从编程角度来思考数学问题
  • 将Python作为一个强大、可扩展的计算器

数学就像棒球、诗歌或者美酒。一些人为之着迷,以至于为它奉献终生;另一些人却难以领会其妙处。接受过十余年的数学教育,你应该已经属于这两个阵营之一了。

如果我们在学校里像学习数学一样学习关于美酒的知识呢?要是一周五天、每天听一小时的葡萄品类和发酵技术课程,我想我绝不会喜欢葡萄酒。也许在这样的世界里,我需要按照老师布置的作业每天喝上三四杯。这种体验听起来很美妙,但有时我可能并不愿意在放学后喝得醉醺醺的。我在数学课上的经历就是这样,这让我一度对这门学科望而却步。学习数学就像品葡萄酒一样,是后天才能培养的爱好,但是天天听课和写作业没办法让你长出一根善于品尝美酒的舌头。

判断自己是否具有学习数学的天赋似乎很容易。如果你相信自己,并且对开始学习数学感到兴奋,那就太好了!如果你不那么乐观,那么本章就是为你设计的。被数学吓退的现象很普遍,它有一个名字:数学焦虑症。我希望能消除你可能有的任何焦虑,并告诉你学习数学可以是一场激动人心的经历,并不可怕。你需要的只是合适的工具和端正的态度。

本书的主要学习工具是Python编程语言。我猜你在高中学习时,数学知识是写在黑板上而不是计算机代码里的。这真是太可惜了,因为高级编程语言远比黑板或任何昂贵的计算器更强大、用途更多。用代码学习数学的一个好处是,设计必须精确,以便计算机理解,而且永远不会让新符号产生歧义。

就像学习其他东西一样,成功的关键是你有学习的动机。动机多种多样:你可能被数学概念的美感所吸引,或者喜欢数学问题那种像“脑筋急转弯”一样的感觉,抑或有一个梦寐以求的应用程序或游戏,需要写一些数学相关的代码来使它工作。现在,我将专注于一种更实际的动机——用软件解决数学问题可以赚很多钱。