《Think Python 2e》学习精粹(一): 程序之道
- 本书的目标:教你像计算机科学家一样思考;
- 计算机科学家的思考方式:使用形式语言表示思想,将零件组成系统,观察复杂系统的行为、形成假设并且对预测进行检验;
1、什么是程序
- 程序 :一系列说明如何执行计算(computation)的指令;
-
不同的编程语言具体细节不同,但是有很多相通的地方:
- 输入(input);
- 输出(output);
- 数学(math):执行基本的数学运算;
- 有条件执行(conditional execution);
- 重复(repetition);
2、运行Python
- 两个在线运行Python的网页:
- dooccn;
- Pythonanywhere(教程推荐);
3、第一个程序
>>> print('Hello, World!')
Hello, World!
4、算术运算符
- 运算符(operators):代表加法和乘法等运算的特殊符号;
- 运算符 + 、- 、*和/分别执行加法、减法、乘法和除法;
>>> 40 + 2
42
>>> 43 - 1
42
>>> 6 * 7
42
>>> 84 / 2
42.0
- 运算符**执行乘方运算;
>>> 2**4 + 26
42
5、值和类型
- 值(value):程序处理的基本数据;
- 值的 类型(types) : 整型数(integer),浮点数(floating point number), 字符串(string);
- 使用内置函数type(),可以得到某一个值的类型;
>>> type(2)
<class 'int'>
>>> type(42.0)
<class 'float'>
>>> type('Hello, World!')
<class 'str'>
- 用逗号分隔的几个整形数是整形数序列;
>>> 1, 23, 456
(1, 23, 456)
6、形式语言和自然语言
- 自然语言(natural language) :人们交流所使用的语言;
- 形式语言(formal language):人类为了特殊用途而设计出来的;
- 编程语言(programming language):被设计用于表达计算的形式语言;
-
通常来说,形式语言都有严格的语法规则,这个规则包含记号(Tokens) 和 结构(structure):
- Tokens需要是合法的,比如不能在变成语言中使用全角符号或者中文;
- structure其实是tokens之间的组合方式;在进行编程的时候不能使用规定之外的结构,结构都是有严格规定的;
-
形式语言与自然语言的不同之处:
- 歧义:形式语言通常是没有歧义的;
- 冗余:形式语言包含很少的冗余,简洁明了;
- 字面性:自然语言通常有很多暗喻,这在形式语言中是没有的;
7、调试
- 调试(debugging):追踪错误的过程。