Python 10 分钟极速上手手册:从零开始写出你的第一行代码

Python 10 分钟极速上手手册:覆盖环境搭建、变量类型、条件循环、函数定义、列表字典、文件读写、异常处理。附带可直接运行的代码示例和速查表,让你用最短时间写出第一行 Python 代码。

这篇文章的目标:即使你从没写过任何代码,10 分钟后也能运行一个完整的小程序。


目录

  1. 环境准备:你需要的只有两样东西
  2. 第一个程序:Hello, World
  3. 变量与数据类型:Python 的基本单元
  4. 运算符与表达式:让数据动起来
  5. 字符串操作:文本处理的艺术
  6. 条件判断:程序的智慧抉择
  7. 循环:重复执行的力量
  8. 列表:有序的集合
  9. 字典:键值对的映射
  10. 函数:代码的复用利器
  11. 文件读写:与外部世界交互
  12. 异常处理:让程序更健壮
  13. 实战小项目:天气查询助手
  14. Python 语法速查表
  15. 下一步学习计划

1. 环境准备:你需要的只有两样东西

1.1 安装 Python

Python 3.9+ 即可(推荐 3.11 或 3.12)。

macOS:

brew install python
python3 --version

Linux (Ubuntu/Debian):

sudo apt install python3 python3-pip
python3 --version

Windows:python.org 下载安装包,勾选 “Add Python to PATH”。

1.2 选择一个编辑器

编辑器推荐度特点
VS Code⭐⭐⭐⭐⭐免费、插件丰富、最流行
PyCharm Community⭐⭐⭐⭐专业 Python IDE
Cursor⭐⭐⭐⭐内置 AI 辅助编程
记事本/Notepad不推荐,无语法高亮

VS Code 安装 Python 扩展后,即可获得代码补全、调试和格式化的完整支持。


2. 第一个程序:Hello, World

打开编辑器,新建文件 hello.py,输入以下代码:

print("Hello, World!")

保存后,在终端运行:

python3 hello.py
# 输出: Hello, World!

🎉 这就是你的第一个 Python 程序!

还有什么想输出的?

print("你好,Python!")
print(42)              # 数字不需要引号
print(3.14)
print(True)            # 布尔值

3. 变量与数据类型:Python 的基本单元

变量就像一个贴标签的盒子,你往里面放什么,它就是什么类型。

name = "Alice"        # str 字符串
age = 25              # int 整数
height = 1.68         # float 浮点数
is_student = True     # bool 布尔值(真/假)
hobbies = None        # NoneType 空值

为什么 Python 不需要声明类型?

因为 Python 是动态类型语言——它会在运行时自动识别类型。但这并不意味着类型不重要,稍后你会学到如何通过类型注解让代码更清晰。

type() 函数:查看变量的类型

print(type(name))     # <class 'str'>
print(type(age))      # <class 'int'>
print(type(height))   # <class 'float'>

4. 运算符与表达式:让数据动起来

4.1 算术运算符

a = 10
b = 3

print(a + b)    # 13   加法
print(a - b)    # 7    减法
print(a * b)    # 30   乘法
print(a / b)    # 3.333... 除法(总是返回 float)
print(a // b)   # 3    整除(向下取整)
print(a % b)    # 1    取余
print(a ** b)   # 1000 幂运算

4.2 比较运算符

print(5 == 5)     # True   等于
print(5 != 3)     # True   不等于
print(5 > 3)      # True   大于
print(5 <= 3)     # False  小于等于

4.3 逻辑运算符

print(True and False)  # False
print(True or False)   # True
print(not True)        # False
print(5 > 3 and 7 < 10)   # True

5. 字符串操作:文本处理的艺术

5.1 字符串创建与拼接

# 三种创建方式
greeting = "Hello"
name = 'Alice'
message = """这是一个
多行字符串"""

# 拼接
full_greeting = greeting + ", " + name
print(full_greeting)   # Hello, Alice

# f-string(推荐)—— 最优雅的字符串格式化
greeting = f"你好,{name}!你今年{age}岁。"
print(greeting)   # 你好,Alice!你今年25岁。

5.2 常用字符串方法

text = "  Hello, Python!  "

print(text.strip())            # "Hello, Python!"  去除首尾空格
print(text.lower())            # "  hello, python!  "
print(text.upper())            # "  HELLO, PYTHON!  "
print(text.replace("Hello", "Hi"))   # "  Hi, Python!  "
print(text.split(", "))        # ['  Hello', 'Python!  ']
print("Python" in text)        # True
print(len(text))               # 18

5.3 字符串索引与切片

s = "Python"

print(s[0])      # P   第一个字符
print(s[-1])     # n   最后一个字符
print(s[0:3])    # Pyt  索引 0 到 2
print(s[:3])     # Pyt  从开始到索引 2
print(s[3:])     # hon  从索引 3 到末尾
print(s[::2])    # Pto  每隔一个字符取一个
print(s[::-1])   # nohtyP  反转字符串

6. 条件判断:程序的智慧抉择

score = 85

if score >= 90:
    grade = "A"
    print("优秀!")
elif score >= 80:
    grade = "B"
    print("良好!")
elif score >= 70:
    grade = "C"
    print("中等")
else:
    grade = "D"
    print("需要加油")

print(f"等级: {grade}")

输出:

良好!
等级: B

三元表达式(一行 if-else)

result = "及格" if score >= 60 else "不及格"
print(result)

7. 循环:重复执行的力量

7.1 for 循环

# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

# 遍历 range
for i in range(5):
    print(i)     # 0, 1, 2, 3, 4

# enumerate:同时获取索引和值
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

7.2 while 循环

count = 0
while count < 5:
    print(f"计数: {count}")
    count += 1   # 等价于 count = count + 1

7.3 循环控制

# break:立即退出循环
for i in range(10):
    if i == 5:
        break
    print(i)   # 0, 1, 2, 3, 4

# continue:跳过当前迭代
for i in range(5):
    if i == 2:
        continue
    print(i)   # 0, 1, 3, 4

7.4 列表推导式(Pythonic 写法)

# 传统写法
squares = []
for x in range(10):
    squares.append(x ** 2)

# 列表推导式(更简洁)
squares = [x ** 2 for x in range(10)]
tens = [x for x in range(20) if x % 2 == 0]  # 偶数列表
print(tens)   # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

8. 列表:有序的集合

列表是 Python 最常用的数据结构之一,相当于一个可以装任何东西的数组

# 创建列表
numbers = [1, 2, 3, 4, 5]
mixed = [1, "hello", 3.14, True]   # Python 列表可以混合类型
students = ["Alice", "Bob", "Charlie"]

# 基本操作
print(len(students))        # 3
print(students[0])          # Alice
print(students[-1])         # Charlie(最后一个)

# 修改
students[0] = "Anna"        # 修改
students.append("David")    # 末尾添加
students.insert(1, "Ben")   # 在索引 1 插入
students.remove("Bob")      # 移除第一个匹配的元素

# 切片
print(students[1:3])        # ['Ben', 'Charlie']

# 排序
scores = [85, 92, 78, 90]
scores.sort()
print(scores)               # [78, 85, 90, 92]
scores.sort(reverse=True)
print(scores)               # [92, 90, 85, 78]

# 常用内置函数调用
print(sum(scores))          # 345
print(max(scores))          # 92
print(min(scores))          # 78

9. 字典:键值对的映射

字典是一种键值对数据结构,适合存储有对应关系的数据,如用户信息、配置参数等。

# 创建字典
user = {
    "name": "Alice",
    "age": 25,
    "email": "alice@example.com",
    "is_active": True
}

# 访问
print(user["name"])          # Alice
print(user.get("phone", "未设置"))   # 未设置(安全访问,不存在时返回默认值)

# 修改与添加
user["age"] = 26
user["phone"] = "13800138000"

# 遍历
def show_dict(d):
    for key, value in d.items():
        print(f"{key}: {value}")

show_dict(user)

# 删除
print(user.pop("phone", None))  # 删除并返回值

字典与列表的区别

特性列表 (list)字典 (dict)
索引方式数字索引(0, 1, 2…)任意不可变键
顺序性有序Python 3.7+ 有序
适用场景同质数据序列属性-值映射
查找速度O(n)O(1)

10. 函数:代码的复用利器

10.1 基本函数定义

def greet(name):
    """向某人打招呼"""
    return f"你好, {name}!"

# 调用
message = greet("Alice")
print(message)

10.2 多参数与默认值

def calculate_area(width, height=10):
    """计算矩形面积,高度默认 10"""
    return width * height

print(calculate_area(5))        # 50(高默认 10)
print(calculate_area(5, 8))     # 40
print(calculate_area(height=8, width=5))   # 40(关键字参数)

10.3 可变参数

def sum_all(*numbers):
    """接受任意数量的数字并求和"""
    total = 0
    for n in numbers:
        total += n
    return total

print(sum_all(1, 2, 3, 4))    # 10

10.4 lambda 表达式(匿名函数)

# 等价于 def square(x): return x ** 2
square = lambda x: x ** 2

print(square(5))   # 25

# 常用场景:配合排序
users = [("Alice", 25), ("Bob", 20), ("Charlie", 30)]
users.sort(key=lambda x: x[1])   # 按年龄排序
print(users)   # [('Bob', 20), ('Alice', 25), ('Charlie', 30)]

11. 文件读写:与外部世界交互

11.1 基本文件操作

# 写入文件(自动关闭)
with open("greeting.txt", "w", encoding="utf-8") as f:
    f.write("Hello, Python!\n")
    f.write("第二行内容\n")

# 读取文件
with open("greeting.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

# 逐行读取
with open("greeting.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())

11.2 pathlib(现代推荐方式)

from pathlib import Path

# 路径操作
p = Path("data/users.txt")
p.write_text("Alice, 25\nBob, 30\n", encoding="utf-8")

content = p.read_text(encoding="utf-8")
print(content)

# 检查文件存在
if p.exists():
    print(f"{p} 存在,大小: {p.stat().st_size} 字节")

12. 异常处理:让程序更健壮

def safe_divide(a, b):
    """安全除法,处理除零错误"""
    try:
        result = a / b
        return result
    except ZeroDivisionError:
        return "错误:除数不能为零"
    except TypeError:
        return "错误:请输入数字"
    except Exception as e:
        return f"未知错误: {e}"
    finally:
        print("计算完成")

# 测试
print(safe_divide(10, 2))       # 5.0
print(safe_divide(10, 0))       # 错误:除数不能为零
print(safe_divide("a", 2))      # 错误:请输入数字

13. 实战小项目:天气查询助手

把上面学的知识串起来,写一个完整的小程序:

import json

def load_weather_data():
    """加载天气数据(模拟从文件读取)"""
    # 实际项目中这里会调用 API,如 requests.get(url)
    return {
        "北京": {"temp": 25, "condition": "晴", "humidity": 45},
        "上海": {"temp": 28, "condition": "多云", "humidity": 60},
        "广州": {"temp": 32, "condition": "雷阵雨", "humidity": 80},
    }

def check_weather(city, weather_data):
    """查询指定城市的天气"""
    if city in weather_data:
        data = weather_data[city]
        return (f"🌤 {city} 天气\n"
                f"温度: {data['temp']}°C\n"
                f"天气: {data['condition']}\n"
                f"湿度: {data['humidity']}%")
    else:
        return f"抱歉,暂无 {city} 的天气信息。"

def main():
    """主程序"""
    weather_data = load_weather_data()
    
    print("欢迎使用天气查询助手!")
    print("支持城市:北京、上海、广州")
    print("输入 'quit' 退出\n")
    
    while True:
        city = input("请输入城市名: ").strip()
        
        if city.lower() == "quit":
            print("再见!")
            break
        
        if city:
            print(check_weather(city, weather_data))
            print()

if __name__ == "__main__":
    main()

运行效果

欢迎使用天气查询助手!
支持城市:北京、上海、广州
输入 'quit' 退出

请输入城市名: 北京
🌤 北京 天气
温度: 25°C
天气: 晴
湿度: 45%

请输入城市名: quit
再见!

14. Python 语法速查表

数据类型

类型示例说明
int42整数
float3.14浮点数
str"hello"字符串
boolTrue/False布尔值
list[1, 2, 3]有序可变集合
dict{"a": 1}键值对映射
tuple(1, 2, 3)有序不可变集合
set{1, 2, 3}无序不重复集合

常用内置函数

函数示例说明
print()print("Hello")输出
input()name = input("姓名: ")获取输入
len()len([1, 2, 3])长度
range()range(5)生成序列
enumerate()enumerate(items)带索引枚举
zip()zip(a, b)并行迭代
sorted()sorted([3, 1, 2])排序
sum()sum([1, 2, 3])求和

常用字符串方法

方法示例说明
.strip()" hello ".strip()去除首尾空格
.split()"a,b".split(",")分割字符串
.join()",".join(["a", "b"])连接字符串
.replace()"hello".replace("l", "L")替换字符
.upper() / .lower()"hello".upper()大小写转换
.startswith()"hello".startswith("he")前缀判断
.find()"hello".find("l")查找位置

列表操作

操作示例说明
添加lst.append(4)末尾添加
插入lst.insert(0, "a")指定位置插入
删除lst.remove("a")移除值
弹出lst.pop()移除并返回末尾
排序lst.sort()原地排序
切片lst[1:4]子列表

15. 下一步学习计划

你已经掌握了 Python 的基础知识,接下来建议按以下方向深入:

  1. 面向对象编程 —— 类、继承、方法(第六篇将要学的内容)
  2. 模块与包 —— 组织大型项目(第八篇将要学的内容)
  3. 异常处理进阶 —— 自定义异常、上下文管理器
  4. 正则表达式 —— re 模块,文本模式匹配
  5. 虚拟环境 —— venv, conda, 依赖管理
  6. Web 开发 —— Flask/FastAPI,写第一个 API
  7. 数据科学 —— NumPy, Pandas 入门
  8. 自动化 —— 文件批处理、定时任务、爬虫

延伸阅读


记住:最好的学习方式就是动手写代码。别只看不练——打开编辑器,把上面的例子全部敲一遍,然后修改、破坏、修复它们。这才是学习 Python 的正确姿势!

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「python」更多文章

  1. Python 高级异步编程:Trio 结构化并发与 AnyIO 兼容层
  2. Python 数据工程与 ETL 管道实战
  3. Python 元编程与动态特性深度解析