什么是编程?
尽可能简单的讲,编程是编写代码,命令计算机去完成某项任务的艺术。这里讲的某项任务,可以是简单的两数相加,或是像把飞船送入轨道这样的复杂任务!
一个程序里面,最小的组成部分被称作语句(statement)——代表了对计算机做出的一条指令。
当你完成了自己的程序后,编译器会把你写的代码转换为机器码——计算机语言的最底层。机器码指示中央处理器工作(central processing unit),或者叫做CPU,这里面包含一些诸如加载某个值或是做数学运算的步骤。
如果你曾经听过某人说:“我编译了我的程序”,那代表他们已经把代码转换成了机器码。
为什么不直接写机器码呢?原因很显然,程序码具有可读性。下面比较了Python版的程序和其对应的机器码:
Python代码
Python
1 2 3 | print "Hello, World!" ... "Hello, World!" |
对应的机器码
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | c7 3c 2a 3c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 5c 3c 28 5c 2a 2b 2a 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... "Hello, World!" |
很明显为什么你不会想要直接编写机器码了。但是,确实有一些人会去写机器码——萝卜白菜各有所爱嘛!
上面我们忽略了一个小问题。Python是一种解释型语言;你并不会像上面我们暗示的那样,把它直接编译成为机器码。
实际上是这样的,Python使用一个叫做解释器的东西。解释器是另外一个程序,把代码编译成叫做二进制码的东西,然后再程序运行的时候再转换成机器码。你等下会学到更多和解释器有关的内容。
当你最终运行程序的时候,你刚编译的那些机器码会被加载到内存中,CPU会读取它并执行程序。
然而,在刚开始学习使用Python编程的时候,你并不需要完全理解编译器的内部工作原理,但是你必须确保你已经安装了Python。