面向医生的编程—速成课程

jopen 10年前

英文原文:Programming for Physicians - a crash course

欢迎阅读这份关于编程的速成课程,其受众人群是医生。为什么是医生?因为从历史角度看,医生不是最有可能学习计算机编程的职业,然而,当代能够说计算机语言(至少在某种程度),对于总体科学研究技能而言,是一个受欢迎的加分项,尤其是数据科学。早些时候,我写过一篇评论文章“为什么医生可能想学习计算机编程”,阐述了我是如何考虑这个观点的。

简而言之,计算机编程有三个主要部分:

  • 数据输入
  • 数据操作
  • 数据输出

注意,这是一个高级的、非常笼统的综述。输入可以是用户输入的一些文本、鼠标点击、在移动设备上的触碰和手势、从磁盘载入的文件、来自 web 的数据库,甚至自动化输入(例如,在某个特定时间触发代码)。输出也可以是一些文本、图像、声音、视频、或任何你能想象到的、将被发送给用户或某些服务器的东东。

正如你猜测的,数据操作是较有意思的环节,会有魔法发生。实际上,没有太多的魔法。粗略地讲,数据操作也有三个主要部分:

  • 计算
  • 条件语句
  • 循环

变量是你能够用来存储信息的参数。当我说“存储”时,我没有显式地指出“存在磁盘”或“存在线上”。首先,它意味着保留(或者如官方的叫法,分 配)你计算机上的某些(工作)内存,你可以把信息临时放在那里。代码被执行后,当你不再需要它时,变量就从内存中擦除了。如果你想存储某些信息(存到磁 盘、闪存盘或远程服务器上)供日后使用,你不得不明确地去实现。顺便说一句,本教程没有涵盖后者。但是了解它是有好处的。对于当下,变量是你经常用来操作 的某种参数。

我猜,计算更像是自解释的。从历史角度看,计算机被开发为高级计算器,仅在后来才添加了其它功能。计算不同于简单的数学,更多的是复杂的处理,但本质相同。

条件语句,正如它的叫法。对于护士而言,你可能说,如果病人温度高于 39 摄氏度,那么你想预定血培养(blood culture),否则他们应该在两小时后再次测量体温。条件语句,或“if-else 语句”,用于在程序里做决定。

循环被用于重复的语句。计算机在多次重复同样任务上,要比人类强很多,循环就是因此而产生的。有两种循环,所谓的 for 循环和 while 循环。我们将详细谈到它们。

随着编程规模的扩大,你需要一种方式来组织代码。函数是避免重复代码的方法,在更大型的项目里,你能够针对性地使用模块(module)或类(class)。我们来一窥函数,按照我们的方式使用一些内置模块。

注意:模块和类是不一样的。模块本质上只是带有一些函数的文件,而类被用于叫做面向对象编程(OOP)的编程风格里。OOP 不在本教程范围内。

在本教程里,我们将使用编程语言 Python。它有着非常直接和可读的语法,开源、可完全自由使用,当你掌握基础之后,你就能发现那些使用起来比较有意思的科学上的模块。

好了,背景信息介绍得已经足够多了……让我们开始吧!

— END —

译文: 《面向医生的编程—速成课程 》 腊八粥