第 02 章 基本数据类型
学习目标
- 区分整数、浮点数和复数,并完成数值运算。
- 正确使用 True、False、None、比较运算和逻辑运算。
- 掌握字符串索引、切片、格式化和常用方法。
- 使用 type() 判断类型,并在数值与字符串之间转换。
1. 三种数字类型
age = 18
price = 12.5
point = 3 + 4j
print(type(age), type(price), type(point))
整数没有小数点,大小只受内存限制。浮点数表示带小数的数,运算结果可能出现微小误差。复数由实部和虚部组成,j 表示虚部。
value = 3 + 4j
print(value.real)
print(value.imag)
print(abs(value))
输出:
3.0
4.0
5.0
2. 数值运算
| 运算 | 示例 | 结果 | 含义 |
|---|---|---|---|
| + - * | 7 - 2 | 5 | 加减乘 |
| / | 7 / 2 | 3.5 | 普通除法 |
| // | 7 // 2 | 3 | 向下取整除法 |
| % | 7 % 2 | 1 | 余数 |
| ** | 2 ** 3 | 8 | 乘方 |
常用函数:
print(abs(-8))
print(pow(2, 5))
print(round(3.14159, 2))
print(divmod(17, 5))
输出:
8
32
3.14
(3, 2)
round() 按四舍五入保留指定小数位。比较浮点数是否相等时,应考虑误差,不要只依赖一次精确比较。
3. 真假值与逻辑运算
True 和 False 是布尔值,None 表示没有值。逻辑运算有 and、or、not。
score = 86
attendance = True
print(score >= 60 and attendance)
print(score < 60 or attendance)
print(not attendance)
and 两侧都为真时结果为真;or 任意一侧为真时结果为真。比较运算包括 >、>=、<、<=、==、!=。
4. 字符串索引和切片
字符串从 0 开始编号,负数编号从末尾倒数。
text = "Python"
print(text[0], text[-1])
print(text[1:4])
print(text[:3])
print(text[::2])
输出:
P n
yth
Pyt
Pto
切片格式是 字符串[起点:终点:步长]。终点位置本身不包含在结果中。
5. 字符串操作
name = " Python考试 "
print(name.strip())
print("py" in "python")
print("Python" * 2)
print(len("等级"))
print(",".join(["A", "B", "C"]))
常用方法还有 upper()、lower()、replace()、split()、count() 和 find()。find() 找不到内容时返回 -1。
格式化使用 format():
print("姓名:{0},成绩:{1:.1f}".format("王宁", 92.56))
输出:
姓名:王宁,成绩:92.6
冒号前是参数序号,冒号后是格式。{1:.1f} 表示第 2 个参数保留一位小数。
6. 类型判断和转换
print(type("123"))
print(int("123"))
print(float("3.5"))
print(str(2026))
int() 不能直接转换带字母的字符串。需要按表达式计算时使用 eval(),但只能处理可信输入。
本章练习
- 计算
17 // 5、17 % 5和2 ** 8。 - 输入一个字符串,输出它的第一个字符、最后一个字符和反转结果。
- 把
98.276格式化为保留两位小数的字符串。 - 判断
3 < 5 and not False的结果。
本章小结
/得到浮点商,//得到向下取整的商,%得到余数。- 字符串编号从 0 开始,切片不包含终点。
format()通过参数序号和格式符控制输出。- 输入值参与数值运算前,要先确认并转换类型。