数据类型的相关知识,内容包括数值、逻辑值、字符串、变量和引用、上机练习。
一、数值
1. 整数类型:int
最大特点是不限制大小。常见运算如下


>>> 7 > 3 >= 3
True
>>> 12 < 23 < 22
False
数的进制:通常用的十进制是0-9,十个不同符号,逢十进一


2. 浮点数类型:float
- 操作与整数类似
- 浮点数受到17位有效数字的限制
- 特点
- 科学记数法
- 有效位数
- 特性
- 进制转换导致精度误差

3. 复数类型
Python内置复数数据类型,支持所有常见计算


4. math 模块
- 数学常数
- 圆周率π、自然对数的底e等
- 数学函数
- 三角函数、对数、最大公约数、最小公倍数等

5. cmath 模块
专门面向复数计算,math模块中的数学函数只能用于计算整数 和浮点数,对于复数就无能为力了
平面直角坐标和极坐标之间的转换

二、逻辑值
判断真与假,and、or、not 运算
优先级:not最高,and次之,or最低
各种类型对应的真值
整数、浮点数和复数类型
0是“假”,所有非0的数值都是“真”
字符串类型
空串("")是“假”,所有非空串都是“真”
所有序列类型(包括字符串)
空序列是“假”,所有非空的序列都是“真”
空值None
表示“无意义”或“不知道”,也是“假”
三、字符串
1. 字符串的表示
字符串就是把一个个文字的字符“串起来”的数据,文字字符包含有拉丁字母、数字、标点符号、特殊符号,以及各种语言文字字符

用双引号或者单引号都可以表示字符串,但必须成对,多行字符串用三个连续单引号表示

特殊字符用转义符号“\”表示

2. 字符串与名字的区别
字符串是数据本身,名字是数据的标签,名字和字符串是“名”和“值”之间的关系
- 一个字符串数值可以关联多个名字
- 一个名字在同一时刻只能关联一个字符串数值
- 字符串数值只能是字符串类型
- 名字则可以关联任意类型的数值
3. 常见的字符串操作
- 获取字符串的长度
- len函数
- 切片(slice)操作 -- 左闭右开
- s[start:end:step]

- “加法”和“乘法”
- +:将两个字符串进行连接,得到新的字符串。
- *:将字符串重复若干次,生成新的字符串
- 判断字符串内容是否相同(==)
>>> a = 'Hello'
>>> a == 'Hello'
True
- 判断字符串是否包含某个字符串(in)
>>> 'h' in a
False
>>> 'H' in a
True
- 删除空格
str.strip:去掉字符串前后的所有空格,内部的空格不受影响
str.lstrip:去掉字符串前部(左部)的所有空格
str.rstrip:去掉字符串后部(右部)的所有空格
- 判断字母数字
str.isalpha:判断字符串是否全部由字母构成
str.isdigit:判断字符串是否全部由数字构成
str.isalnum:判断字符串是否仅包含字母和数字,而不含特殊字符
4. 字符串的高级操作
split:分割
join:合并
upper/lower/swapcase:大小写相关
ljust/center/rjust:排版左中右对齐
replace:替换子串

5. 字符串是一种序列
序列(sequence)是能够按照整数顺序排列的数据
序列的内部结构:
- 可以通过从0开始的连续整数来索引单个对象;
- 可以执行切片,获取序列的一部分;
- 可以通过len函数来获取序列中包含多少元素;
- 可以用加法“+”来连接为更长的序列;
- 可以用乘法“*”来重复多次,成为更长的序列;
- 可以用“in”来判断某个元素是否在序列中存在。
四、变量和引用
1. 给数据命名
-
命名语法
- <名字> = <数据>
-
命名规则
- 字母和数字组合而成,下划线“_”算字母,字母区分大小写
- 不带特殊字符(如空格、标点、运算符等)
- 名字的第一个字符必须是字母,而不能是数字
<注:在Python语言的名字规则中,汉字算是字母>
2. 名字与变量
-
名字(name)
- 名字像一个标签,通过赋值来“贴”在某个数据数值上
- 名字和数值的关联,称为引用。
- 关联数值后的名字,就拥有了数据的值(value)和类型(type)
- 一个数值可以和多个名字关联
-
变量(variable)
- 与数值关联的名字也称作变量,表示名字的值和类型可以随时变化。
- 变量可以随时指向任何一个数据对象,比如True,1.02,或者"Hello"
- 变量的类型随着指向的数据对象类型改变而改变!
-
赋值(assignment)
- 名字与数值关联的过程,称为给变量赋值
- “==”(相等关系)是对数值的相等性进行判断
- “=”(赋值号)则是计算等号右边式子的值,赋值给等号左边的变量
-
赋值语句
- 通过赋值号将变量和表达式左右相连的语句
- 赋值语句the_sum = 0,实际上是创建了名为the_sum的变量,然后指向数据对象“0”
3. 灵活多变的赋值语句
- 最基本的赋值语句形式
<名字> = <数据>
- 合并赋值
a = b = c = 1
- 按顺序依次赋值
a, b, c = 7, 8, 9
- 简写赋值语句
price += 1
price *= 1.5
price /= 3 + 4
五、上机练习
1. 数值基本运算:33和7
+, -, *, /, //, %, **
hex(), oct(), bin()
2. 类型转换
1,0,'abc', None, 1.2, False, ''
str(), bool(), int(), float()
is None, ==, !=
3. 字符串基本操作
+, *, len(), [], in
ord(), chr()
含有中文的字符串
4. 字符串高级操作
s='abcdefg12345'
切片:获得defg12,获得fg12345,获得54321, 获得aceg2
t='Mike and Tom'
split拆分
upper/lower/swapcase修改大小写
ljust/center/rjust排版30位宽度左中右对齐
replace将Mike替换为Jerry
「资料来源:©Python语言基础与应用-中国大学MOOC」