背景

Python 起源与解释型

1989 年圣诞节,Guido van Rossum 开始开发;1991 年发布 0.9.0 版本。名字来自喜剧团体 Monty Python,和蟒蛇无关。

解释型语言:代码由解释器逐行解读运行,不同于 C++ 的编译型。考试常问「Python 是一种什么语言」→ 解释型语言。

# 解释器逐行执行,无需编译 print("Hello Python") # 直接运行
Guido van Rossum 解释型 1991
工具

IDLE:Shell 与编辑器

交互式 Shell(提示符 >>>):输入立即执行,但关闭即丢失。适合测试。

编辑器窗口:File → New File,写完整程序;保存为 .py,按 F5 运行,结果显示在 Shell。

# 编辑器里写多行代码,按 F5 运行 name = input("请输入名字:") print("你好,", name) # 首次运行会提示保存文件
必考

print() 输出

括号必须成对、英文括号;字符串要加引号(单双引号均可,但要成对)。

print('Hello') # Hello print(1 + 1) # 2 print('1+1') # 1+1 (引号内不运算) print(1, 2, 3) # 1 2 3 (默认空格) print(1, 2, sep='-') # 1-2 print('a', end='') # 不换行
⚠️ 引号里的内容原样输出:print('1+1') → 1+1;print(1+1) → 2。
sep end 逗号分隔
必考

input() 输入

从键盘获取信息,返回值一定是字符串。括号内可写提示文字。

name = input('请输入姓名:') age = input('请输入年龄:') # 此时 age 是字符串 '13' # 要计算需要 int() 或 float() age_num = int(input('年龄:'))
💡 只写 input 没有 print 不会显示任何输出(除了提示文字)。
必考

变量与赋值 =

= 是赋值,不是判断相等。变量像盒子,用来存值。

age = 18 name = '小明' # 打印变量不加引号 print(age) # 18 print('age') # age (原样输出) # 打印多个内容 print(name, '今年', age, '岁') # 小明 今年 18 岁
赋值 变量不加引号
类型

type() 与常见类型

常见类型:int, float, str, bool, list, tuple, dict, set, NoneType。

type(3) # <class 'int'> type(3.14) # <class 'float'> type('hi') # <class 'str'> type(True) # <class 'bool'> type(1) == int # True
核心

类型转换

int() 转整数,float() 转小数,str() 转字符串,bool() 转布尔。

a = int('13') # 13 b = float('3.14') # 3.14 c = str(100) # '100' d = bool(0) # False # 字符串和整数不能直接相加 # '13' + 1 → TypeError int('13') + 1 # 14
⚠️ input 拿到的都是字符串,要算数先 int() 或 float()。
必考

算术运算符

+ - * / // % ** 10 / 4 # 2.5 (除法结果一定是小数) 10 // 4 # 2 (整除) 10 % 4 # 2 (取余) 2 ** 10 # 1024 (乘方) 2 + 3 * 4 # 14 (优先级:先乘除后加减) (2+3)*4 # 20 (括号优先) # ** 优先级最高
逻辑

布尔值 & 比较运算

True / False 首字母必须大写。比较结果均为布尔值。

3 > 2 # True 3 == 2 # False 'a' < 'b' # True (按字母顺序) # 注意:= 赋值,== 判断相等 x = 5 x == 5 # True
⚠️ 写成 true 或 TRUE 会报 NameError。
逻辑

and / or / not

True and False # False True or False # True not True # False # 复合运用 a, b = 5, 3 not a == b # True,因为 a==b 为 False,not 取反
控制

if / else

if 和条件之间要有空格,条件后必须有冒号,缩进代码块。else 后面不能跟条件,直接冒号。

a = 10 b = 20 if a < b: print('a 小于 b') # 缩进4空格 else: print('a 大于等于 b')
⚠️ 缩进不一致会报 IndentationError。else 后面不能写条件。
考点

for 循环与 range

for i in range(...),i 是循环变量。range(100) 产生 0~99,共 100 次。

for i in range(3): print(i) # 输出 0 1 2 for i in range(1, 10, 2): print(i) # 1 3 5 7 9 # 打印 1 到 1000 只需两行 for i in range(1, 1001): print(i)
起点 终点(不含) 步长
控制

while · break · continue

while 条件成立就一直做,务必在循环内改变量避免死循环。break 跳出整个循环;continue 跳过本轮剩余代码。

# while + break a = 0 while True: a += 1 if a == 5: break print(a) # 1 2 3 4 # continue 跳过 10 for i in range(15): if i == 10: continue print(i) # 0~9, 11~14
⚠️ while 2: print(1) 是死循环,记得加 break 或条件。
规范

缩进规则与报错

Python 用缩进表示代码块,标准 4 个空格(IDLE 中 Tab 自动转4空格)。同一块缩进必须一致。

# NameError: 使用了未定义的变量 # print(abc) → NameError # TypeError: 类型不匹配 # '13' + 1 → TypeError int('13') + 1 # 正确 # IndentationError: 缩进不一致 if True: print('a') print('b') # 多/少空格都会报错
实战

加法计算器

完整程序:输出 → 输入 → 处理 → 输出。注释 # 不参与运行。

a = int(input('请输入第一个数:')) b = int(input('请输入第二个数:')) print(a, '+', b, '=', a + b) # 输入 3 和 5 → 输出: 3 + 5 = 8
输入→处理→输出 注释 #
补充

字符串比较 + 输出技巧

字符串可按字母顺序比较(类型需相同)。print 用逗号自动加空格,用 + 拼接需手动 str() 且无空格。

print('a' < 'b') # True name = '小明' age = 10 print(name, '今年', age, '岁') # 小明 今年 10 岁 print(name + '今年' + str(age) + '岁') # 小明今年10岁 print(1, 2, sep='😊', end='!') # 1😊2!
强化

range 细节

range(5) # 0,1,2,3,4 range(1,5) # 1,2,3,4 range(0,10,2) # 0,2,4,6,8 # 循环次数 = (终点-起点+步长-1)//步长 近似 for i in range(100): pass # 共100次,i从0到99
💡 取不到终点值,例如 range(100) 最大是 99。