当前位置:首页>python>Python教程 — 环境搭建与基础语法入门

Python教程 — 环境搭建与基础语法入门

  • 2026-10-11 06:40:27
Python教程 — 环境搭建与基础语法入门

> 从零开始学 Python,从这一期正式开始。

## 一、为什么选择 Python?

Python 连续多年蝉联全球最受欢迎编程语言榜首。原因很简单:

1.**语法简洁**:接近自然语言,新手容易上手

2.**生态强大**:数据处理、Web 开发、人工智能、自动化运维……无所不能

3.**就业广阔**:2026 年 Python 相关岗位需求增长超过 30%

4.**社区活跃**:Stack Overflow、GitHub、知乎、B 站上有海量学习资源

## 二、环境搭建(5 分钟搞定)

### 2.1 安装 Python

访问官网 [python.org](https://www.python.org/downloads/) 下载最新版(2026 年主推 Python 3.13+)。

>**关键一步**:安装时务必勾选 **"Add Python to PATH"**!

### 2.2 验证安装

打开终端(Windows 用 PowerShell 或 CMD),运行:

```bash

python--version

# 应输出类似:Python 3.13.2

```

### 2.3 选择开发工具

| 工具 | 推荐理由 | 适合人群 |

|------|---------|---------|

| **VS Code** | 免费、插件丰富、Python 体验极佳 | 所有人 |

| **PyCharm** | 功能最全的专用 IDE | 专业开发者 |

| **Jupyter Notebook** | 交互式写代码+绘图 | 数据科学方向 |

**推荐新人使用 VS Code + Python 插件**,轻量且强大。

### 2.4 虚拟环境(强烈建议)

每个项目用独立的虚拟环境,避免依赖冲突:

```bash

# 创建虚拟环境

python-mvenvmy-env

# 激活环境

# Windows:

my-env\Scripts\activate

# macOS/Linux:

sourcemy-env/bin/activate

# 退出环境

deactivate

```

### 2.5 使用 uv(2026 年最流行)

`uv` 是用 Rust 编写的超快 Python 包管理器,速度比 pip 快 100 倍:

```bash

# 安装 uv

pipinstalluv

# 一键创建项目+安装依赖

uvinitmy-project

cdmy-project

uvaddnumpypandasmatplotlib

```

## 三、Python 基础语法

### 3.1 你的第一个程序

```python

print("Hello, World!")

print("你好,Python!")

```

输出:

```

Hello, World!

你好,Python!

```

### 3.2 变量与数据类型

Python 是动态类型语言,不需要提前声明变量类型:

```python

# 字符串(文字)

name = "张三"

city = "北京"

# 整数

age = 25

year = 2026

# 浮点数(小数)

height = 1.75

temperature = -3.5

# 布尔值(True/False)

is_student = True

has_car = False

# 查看变量类型

print(type(name))    # <class 'str'>

print(type(age))     # <class 'int'>

print(type(height))  # <class 'float'>

```

### 3.3 输入与输出

```python

# input() 获取用户输入

username = input("请输入你的名字: ")

age = input("请输入你的年龄: ")

print(f"你好 {username},{age} 岁啦!")

```

>**注意**:`input()` 返回的都是字符串,需要手动转换类型:

> ```python

>age = int(input("请输入年龄: "))  # 转为整数

>score = float(input("请输入成绩: "))  # 转为浮点数

> ```

### 3.4 f-string 格式化字符串(重要!)

这是 Python 中最常用的字符串格式化方式:

```python

name = "李四"

age = 22

salary = 15000.5

# 基础用法

print(f"我叫{name},今年{age}岁")

# 嵌入表达式

print(f"明年我就{age + 1}岁了")

# 格式化数字(保留小数位)

print(f"月薪:¥{salary:,.2f}")  # 输出:月薪:¥15,000.50

# 字符串截断

long_text = "这是一个很长的文本"

print(f"简介:{long_text[:4]}...")  # 输出:简介:这是一个很...

```

## 四、控制流(程序的"决策大脑")

### 4.1 条件判断(if / elif / else)

```python

score = 85

if score >= 90:

    grade = "优秀"

elif score >= 80:

    grade = "良好"

elif score >= 60:

    grade = "及格"

else:

    grade = "不及格"

print(f"你的等级是:{grade}")  # 输出:你的等级是:良好

```

### 4.2 for 循环

```python

# 遍历列表

fruits = ["苹果", "香蕉", "橙子", "葡萄"]

for fruit in fruits:

print(f"我喜欢吃{fruit}")

# 使用 range() 生成数字序列

for i inrange(5):        # 0, 1, 2, 3, 4

print(i)

# range(起始, 结束, 步长)

for i inrange(2, 11, 2): # 2, 4, 6, 8, 10

print(i, end=" ")     # 输出:2 4 6 8 10

```

### 4.3 while 循环

```python

# 猜数字小游戏

import random

target = random.randint(1, 100)  # 生成 1-100 的随机数

attempts = 0

while attempts < 7:  # 最多猜 7 次

    guess = int(input(f"第 {attempts + 1} 次,请输入 1-100 的数字: "))

    attempts += 1

if guess < target:

print("太小了!")

elif guess > target:

print("太大了!")

else:

print(f"恭喜你!猜对了!答案就是 {target},用了 {attempts} 次")

break

else:

print(f"遗憾!7 次没猜到,答案是 {target}")

```

### 4.4 break 和 continue

```python

# break:跳出整个循环

for i inrange(10):

if i == 5:

print("在第 5 个数时跳出循环")

break

print(i, end=" ")  # 输出:0 1 2 3 4

# continue:跳过本次循环,继续下一次

for i inrange(10):

if i % 2 == 0:  # 如果是偶数

continue# 跳过

print(i, end=" ")  # 只输出奇数:1 3 5 7 9

```

## 五、函数(代码复用的神器)

### 5.1 定义与调用

```python

# 最基本的函数

defgreet():

print("你好,欢迎来到 Python 世界!")

greet()  # 调用函数

```

### 5.2 参数传递

```python

defgreet(name, greeting="你好"):

print(f"{greeting},{name}!")

# 不同的调用方式

greet("张三")                          # 你好,张三!

greet("李四", "早上好")                # 早上好,李四!

greet(greeting="晚上好", name="王五")  # 晚上好,王五!(关键字参数)

```

### 5.3 返回值

```python

defcalculate_area(radius):

"""计算圆的面积"""

    pi = 3.14159

    area = pi * radius ** 2

return area

radius = 5

result = calculate_area(radius)

print(f"半径为 {radius} 的圆面积是: {result:.2f}")  # 78.54

```

### 5.4 多重返回值

```python

defget_stats(numbers):

"""返回一组数据的统计信息"""

    min_val = min(numbers)

    max_val = max(numbers)

    avg = sum(numbers) / len(numbers)

return min_val, avg, max_val  # 元组返回

scores = [85, 92, 78, 90, 88]

minimum, average, maximum = get_stats(scores)

print(f"最低分: {minimum}, 平均分: {average:.1f}, 最高分: {maximum}")

```

### 5.5 Lambda 匿名函数

```python

# 简短的函数可以用 lambda 一行搞定

square = lambdax: x ** 2

print(square(5))  # 25

# 配合 sorted() 使用

students = [("张三", 85), ("李四", 92), ("王五", 78)]

# 按成绩排序

sorted_students = sorted(students, key=lambdas: s[1], reverse=True)

print(sorted_students)

# [('李四', 92), ('张三', 85), ('王五', 78)]

```

## 六、实战项目:学生成绩管理系统

把前面学的知识串起来,做一个实用的小程序:

```python

import random

defmain():

print("=" * 50)

print("         📝 学生成绩管理系统")

print("=" * 50)

    students = {}

# 添加学生成绩

defadd_student(name, score):

if name in students:

print(f"⚠️ {name} 已存在,更新成绩...")

            students[name] = score

else:

            students[name] = score

print(f"✅ {name} 的成绩已录入:{score} 分")

# 查看所有成绩

defshow_all():

ifnot students:

print("📭 暂无学生数据")

return

print("\n" + "-" * 40)

for name, score in students.items():

            grade = "优秀"if score >= 90else"良好"if score >= 80else"及格"if score >= 60else"不及格"

print(f"  {name}: {score:4.1f} 分 ({grade})")

print("-" * 40)

# 统计信息

        scores = list(students.values())

print(f"  最高分: {max(scores):.1f}")

print(f"  最低分: {min(scores):.1f}")

print(f"  平均分: {sum(scores)/len(scores):.1f}")

print(f"  总人数: {len(scores)}")

print()

# 演示数据

    demo_names = ["张三", "李四", "王五", "赵六", "孙七", "周八", "吴九", "郑十"]

for name in demo_names:

        score = random.randint(60, 100)

        add_student(name, score)

# 查看所有成绩

    show_all()

# 查找特定学生

    target = input("请输入要查询的学生姓名(回车跳过): ").strip()

if target:

if target in students:

            grade = "优秀"if students[target] >= 90else"良好"if students[target] >= 80else"及格"if students[target] >= 60else"不及格"

print(f"📊 {target} 的成绩是 {students[target]} 分,等级:{grade}")

else:

print(f"❌ 找不到 {target}")

if__name__ == "__main__":

    main()

```

运行效果示例:

```

==================================================

         📝 学生成绩管理系统

==================================================

✅ 张三 的成绩已录入:87 分

✅ 李四 的成绩已录入:95 分

✅ 王五 的成绩已录入:72 分

...

----------------------------------------

  张三:  87.0 分 (良好)

  李四:  95.0 分 (优秀)

  王五:  72.0 分 (及格)

  ...

----------------------------------------

  最高分: 95.0

  最低分: 65.0

  平均分: 81.4

  总人数: 8

```

## 七、本节要点总结

| 知识点 | 说明 |

|--------|------|

| **变量** | 无需声明类型,直接赋值即可 |

| **数据类型** | str(字符串)、int(整数)、float(浮点数)、bool(布尔) |

| **f-string** | `f"值: {变量}"`,最优雅的字符串格式化 |

| **if/elif/else** | 条件分支,缩进决定代码块 |

| **for 循环** | 遍历序列或配合 `range()` |

| **while 循环** | 条件为 True 时重复执行 |

| **break/continue** | 跳出循环 / 跳过本次 |

| **函数 def** | 用 `def` 定义,可传参、有返回值 |

| **lambda** | 匿名函数,一行搞定简单逻辑 |

## 八、练习题

### 练习 1:温度转换器

```python

# 提示用户输入温度值和单位(C 摄氏度 / F 华氏度)

# 转换为另一种单位后输出

# 公式:F = C × 9/5 + 32

#      C = (F - 32) × 5/9

temp = float(input("请输入温度值: "))

unit = input("请输入单位 (C/F): ").upper()

if unit == "C":

    result = temp * 9 / 5 + 32

print(f"{temp}°C = {result:.1f}°F")

elif unit == "F":

    result = (temp - 32) * 5 / 9

print(f"{temp}°F = {result:.1f}°C")

else:

print("❌ 单位输入错误,请输入 C 或 F")

```

### 练习 2:九九乘法表

```python

for i inrange(1, 10):

for j inrange(1, i + 1):

print(f"{j}×{i}={i*j:2}", end="  ")

print()

```

### 练习 3:密码强度检测器

```python

password = input("请输入密码: ")

iflen(password) < 8:

    strength = "弱"

eliflen(password) < 12:

    strength = "中等"

else:

    has_upper = any(c.isupper() for c in password)

    has_lower = any(c.islower() for c in password)

    has_digit = any(c.isdigit() for c in password)

if has_upper and has_lower and has_digit:

        strength = "强"

else:

        strength = "中等"

print(f"密码强度: {strength}")

```

### 练习 4:简易计算器

```python

defcalculator(a, b, operator):

if operator == "+":

return a + b

elif operator == "-":

return a - b

elif operator == "*":

return a * b

elif operator == "/":

if b == 0:

return"错误:除数不能为零!"

return a / b

else:

return"错误:不支持的操作符"

num1 = float(input("请输入第一个数字: "))

num2 = float(input("请输入第二个数字: "))

op = input("请输入操作符 (+, -, *, /): ")

result = calculator(num1, num2, op)

print(f"计算结果: {result}")

```

### 练习 5:杨辉三角

```python

defprint_pascal_triangle(rows):

    triangle = []

for i inrange(rows):

        row = [1]

if i > 0:

            prev = triangle[i-1]

for j inrange(len(prev) - 1):

                row.append(prev[j] + prev[j+1])

            row.append(1)

        triangle.append(row)

for row in triangle:

print(" ".join(str(x) for x in row).center(rows * 4))

n = 6

print_pascal_triangle(n)

```

## 下期预告

**Python 教程 Episode 02 — 数据结构:列表、元组、字典、集合**

- 列表推导式:一行代码搞定数据转换

- 字典的高级用法:嵌套、推导、Counter

- 集合的去重与运算

- 字符串处理常用技巧(split/join/replace/正则基础)

- 实战:用数据结构优化刚才的成绩管理系统

*如果觉得本系列对你有帮助,欢迎点赞、评论、转发给想学 Python 的朋友!有任何问题,在留言区讨论。*

最新文章

随机文章