# Python 后端开发入门:从零开始的语法速查
> Python 是最适合新手入门的编程语言之一,语法简洁清晰,应用广泛。本文系统梳理 Python 核心语法,帮你快速上手后端开发。
---
## 一、Python 的6种数据类型
### 1. 数字(Number)
```python
int # 整数:1, 100, -5
float # 浮点数:3.14, 2.5
complex # 复数(较少用)
bool # 布尔:True, False
```
### 2. 字符串(String)
由单引号、双引号或三引号包裹的文本:
```python
name = '努力的ff' # 单引号
name = "努力的ff" # 双引号
name = """努力的ff""" # 三引号
```
字符串拼接:
```python
# 只能拼接字符串类型
name = "努力的ff"
like = "IT"
print("大家好,我是:" + name + "爱好是" + like)
# 拼接数字需要转换
tel = 110
print("电话:" + str(tel)) # 用 str() 转换
```
### 3. 列表(List)
有序的可变序列,用方括号 [] 包裹:
```python
list1 = [1, 2, 3, 'a', 'b']
list1[0] = 100 # 可以修改
list1.append('c') # 添加元素
```
### 4. 元组(Tuple)
有序的**不可变**序列,用圆括号 () 包裹:
```python
tuple1 = (1, 2, 3)
# tuple1[0] = 100 # 报错!不能修改
```
> 💡 场景:用于存储不希望被修改的数据(如配置项)
### 5. 集合(Set)
无序不重复集合,用大括号 {} 包裹:
```python
set1 = {1, 2, 3}
set1.add(4) # 添加元素
# 自动去重
set2 = {1, 1, 2, 2, 3} # 结果是 {1, 2, 3}
```
### 6. 字典(Dictionary)
无序的键值对集合:
```python
person = {
'name': 'Alice',
'age': 20,
'city': 'Beijing'
}
print(person['name']) # 通过键访问值
```
> 💡 键具有唯一性,值可以重复
---
## 二、数据类型转换
```python
# 整数转字符串
num_str = str(11)
print(type(num_str), num_str) # <class 'str'> 11
# 字符串转整数
num = int("11")
print(type(num), num) # <class 'int'> 11
# 浮点数转整数(不四舍五入,会丢失精度)
float_int = int(3.345)
print(float_int) # 3
# 整数转浮点数
int_float = float(11)
print(int_float) # 11.0
```
---
## 三、注释
```python
# 这是一个单行注释(建议 # 后面加空格)
"""
这是一个多行注释
可以写多行
"""
```
---
## 四、标识符命名规范
### 命名规则
- 只允许:中文(不推荐)、英文、数字(不能开头)、下划线 _
- 大小写敏感
- 不能使用关键字
### 命名规范
```python
# ✅ 推荐
user_name = "张三"
is_valid = True
max_count = 100
# ❌ 避免
a = 10 # 无意义
UserName = 10 # 不符合PEP8规范
```
> 💡 原则:见到名字就知道是什么意思
---
## 五、运算符
### 算术运算符
```python
print("1 + 1 =", 1 + 1) # 加法:2
print("2 - 1 =", 2 - 1) # 减法:1
print("3 3 =", 3 3) # 乘法:9
print("4 / 2 =", 4 / 2) # 除法:2.0
print("11 // 2 =", 11 // 2) # 整除:5(向下取整)
print("9 % 2 =", 9 % 2) # 取余:1
print("2 2 =", 2 2) # 次方:4
```
### 复合赋值运算符
```python
num = 1
num += 1 # 等效于 num = num + 1
num -= 1 # 等效于 num = num - 1
num = 4 # 等效于 num = num 4
num /= 2 # 等效于 num = num / 2
num %= 2 # 等效于 num = num % 2
num = 2 # 等效于 num = num 2
num //= 2 # 等效于 num = num // 2
```
---
## 六、字符串格式化(重点!)
### 方式1:% 占位符
```python
name = "努力的ff"
class_num = 666
num = 0.2 * 0.3
# %s:字符串
# %d:整数
# %f:浮点数
message = "大家好我是:%s, 我是%d班, 0.2*0.3=%f" % (name, class_num, num)
print(message)
```
### 方式2:f-string(推荐!)
```python
name = "努力的ff"
age = 17
time = 20.39
print(f"大家好,我是:{name},是一个{age}岁的新手程序员,现在的时间是{time}")
```
### 数字精度控制
```python
a = 11
b = 11.345
# %5d:宽度控制为5
print("宽度限制5:", "%5d" % a) # " 11"(3个空格补足)
# %7.2f:宽度7,小数精度2
print("宽度7精度2:", "%7.2f" % b) # " 11.35"(2个空格 + 四舍五入)
```
---
## 七、数据输入(input)
```python
name = input("请输入你的名字:")
print(f"你的名字是:{name}, 你的名字的类型是", type(name))
```
> ⚠️ 注意:input() 返回的永远是**字符串类型**!
---
## 八、判断语句(if)
### 布尔类型
```python
# 只有两个值
True # 真(对应整数1)
False # 假(对应整数0)
```
### 比较运算符
| 运算符 | 描述 | 示例 |
|--------|------|------|
| == | 判断内容是否相等 | a == b |
| != | 判断内容是否不相等 | a != b |
| > | 左侧是否大于右侧 | a > b |
| < | 左侧是否小于右侧 | a < b |
| >= | 左侧是否大于等于右侧 | a >= b |
| <= | 左侧是否小于等于右侧 | a <= b |
### if 语句三种格式
```python
# 情况1:单条件判断
if age >= 18:
print("您已成年")
# 情况2:双条件选择
if age >= 18:
print("您已成年")
else:
print("您未成年")
# 情况3:多条件选择
if age >= 18:
print("您已成年")
elif age >= 1:
print("您未成年")
else:
print("请输入正确年龄")
```
> 💡 关键:多条件时,只要有一个成立,就不再判断后面的
### 判断语句嵌套
```python
if height > 120:
print("您的身高超过120cm,不可以免费")
if vip_level > 3:
print("恭喜您vip等级大于3,可以免费")
else:
print("您的vip等级不大于3,不可以免费")
else:
print("恭喜你,可以免费游玩")
```
---
## 九、循环
### while 循环
```python
# 基本语法
i = 0
while i < 100:
print("你好")
i += 1 # 必须有终止条件!
```
### for 循环
```python
# 遍历字符串
name = "努力的ff"
for x in name:
print(x, end="") # 输出:努力的ff
```
### range 语句(生成数字序列)
```python
# 语法1:range(num) → [0, num)
for i in range(5):
print(i) # 输出:0, 1, 2, 3, 4
# 语法2:range(num1, num2) → [num1, num2)
for i in range(5, 10):
print(i) # 输出:5, 6, 7, 8, 9
# 语法3:range(num1, num2, step)
for i in range(5, 10, 2):
print(i) # 输出:5, 7, 9
```
### 循环嵌套(九九乘法表)
```python
# while 循环实现
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}x{i}={j*i}", end="\t")
j += 1
print()
i += 1
# for 循环实现
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={j*i}", end="\t")
print()
```
### 循环控制关键字
```python
# continue:跳过本次循环,进入下一次
for i in range(5):
if i == 2:
continue # 跳过 i=2
print(i) # 输出:0, 1, 3, 4
# break:直接结束循环
for i in range(5):
if i == 3:
break # 结束循环
print(i) # 输出:0, 1, 2
```
---
## 十、实战小项目
### 猜数字游戏
```python
import random
secret = random.randint(1, 50)
if int(input("请输入第一次猜想的数字:")) == secret:
print("回答正确")
elif int(input("不对,再猜一次:")) == secret:
print("回答正确")
elif int(input("不对,再猜最后一次:")) == secret:
print("回答正确")
else:
print(f"Sorry,全猜错啦,我想的是:{secret}")
```
### 带异常处理的年龄判断
```python
try:
age = int(input("请输入您的年龄:"))
if age >= 18:
print("您已成年,游玩需购票10元")
elif age >= 1:
print("您未成年,可以免费游玩")
else:
print("请输入正确年龄")
except ValueError:
print("哎呀!请输入正确的整数年龄(比如18、12)!")
```
---
## 学习建议
1. 多动手练习:每个语法点都要亲自敲代码
2. 注意缩进:Python 用缩进表示代码块,通常是4个空格
3. 理解类型转换:特别是 input() 返回的是字符串
4. 掌握 f-string:这是最推荐的字符串格式化方式
5. 多写小项目:通过实践巩固知识