指令和程序:
计算机硬件是由五部分组成:运算器、控制器、存储器、输入设备和输出设备。其中运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能就是执行各种运算和控制指令以及处理计算机软件中的数据。我们通常所说的程序实际上就是指令的集合,我们程序就是将一系列的指令按照某种方式组织在一起,然后通过这些指令去控制计算机做我们想让它做的事情。
“冯.诺依曼结构”计算机有两个关键点,一是指出要将存储设备要与中央处理器分开,二是提出了将数据以二进制方式编码。(玛雅人使用二十进制的计数法)
变量与类型:
变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者是存储器中存储数据的一块内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。计算机能处理的数据有很多类型,除了数值之外还可以处理文本、图形、音频、视频等各种各样的数据,那么不同的数据就需要定义不同的存储类型。
Python中常用的数据类型如下:
整型:Python中可以处理任意大小的整数(python2.x有int和long两种类型的整数,但是这种区分对于python来说意义不大,因此在python3.x中整数只有int这一种),而且支持二进制(如0b100,换算成十进制是4)、八进制(0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示方法。
浮点型:浮点型也就是小数,之所以称为浮点型,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(例如,123.456)也可以科学计数法(1.23455e2)。
字符串型:字符串是以单引号或者双引号括起来的任意文本,例如‘hello’和“hello”,字符串还有原始字符串、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或者三个双引号开头,三个单引号或者三个双引号结尾)。
布尔型:布尔值只有True、False两种值,要么是True,要么是False,在python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如,3 < 5会产生布尔值True,而2 == 1 会产生布尔值False)。
复数值:形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j。
变量命名
对于变量,需要起名字,python中的命名需要遵守以下必须遵守的硬性规则和强烈建议遵守的非硬性规则。
硬性规则:变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。
大小写敏感。(大写的A和小写的a是两个不同的变量)
不要跟关键字(有特殊含义的单词)和系统保留字(如函数、模块等的名字)冲突。
PEP 8要求:
用小写字母拼写,多个单词用下划线连接。
受保护的实例属性用单个下划线开头。
私有的实例属性用两个下划线开头。
当然,作为一个专业的程序员,给变量命名时做到见名知意也是非常重要的。
变量的使用
在对变量类型进行转换时可以使用python的内置函数(准确的说下面列出的并不是真正意义上的函数,而是后面我们要讲到的创建对象的构造方法)。
int():将一个数值或者字符串转换成整数,可以指定进制。
float():将一个字符串转换成浮点数。
str():将指定的对象转换成字符串形式,可以指定编码。
chr():将整数转换成该编码对应的字符串(一个字符)。
ord():将字符串(一个字符)转换成对应的编码(整数)。
运算符
Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,我们会陆续使用它们。
运算符 | 描述 |
---|---|
[] [:] | 下标,切片 |
** | 指数 |
~ + - | 按位取反, 正负号 |
* / % // | 乘,除,模,整除 |
+ - | 加,减 |
>> << | 右移,左移 |
& | 按位与 |
^ | |
<= < > >= | 小于等于,小于,大于,大于等于 |
== != | 等于,不等于 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
= += -= *= /= %= //= **= &= = ^= >>= <<= | (复合)赋值运算符 |
说明: 在实际开发中,如果搞不清楚优先级可以使用括号来确保运算的执行顺序。