编程不是魔法,而是一门手艺。 就像学习做菜一样,你不需要一开始就理解所有化学原理,而是从认识锅碗瓢盆和“点火、放油、下菜”开始。本文将作为你的烹饪手册,带你一步步做出你的第一道“程序大餐”。

第一部分:准备你的“厨房”——环境搭建

在开始写代码之前,我们需要准备好“灶台”和“厨具”。

1. 安装 Python 3(安装燃气灶)

Python 3 是当前的主流版本。请务必从官网下载,避免使用老旧或修改过的版本。

  • 步骤

    1. 访问 Python 官方网站
    2. 下载适合你操作系统(Windows/macOS/Linux)的最新版本。注意: 对于 Windows 用户,下载安装程序时,务必勾选 “Add Python 3.x to PATH” 这个选项,这能省去很多后续配置的麻烦。
    3. 运行安装程序,一路点击“Next”或“Install”即可。
  • 验证安装

    • 打开你的命令行窗口(Windows 上是 Cmd 或 PowerShell,macOS/Linux 上是 Terminal)。
    • 输入 python --version  或 python3 --version 然后按回车。
    • 如果屏幕上显示类似 Python 3.11.4 的字样,恭喜你,安装成功!

2. 选择代码编辑器(选择顺手的锅和刀)

你不能用记事本写长篇大论,同样也不该用它写代码。一个好的编辑器能让你事半功倍。

  • 强烈推荐:VS Code (Visual Studio Code)

    • 优点:免费、功能强大、插件生态极其丰富(安装 Python 插件后,就能获得代码高亮、自动补全、调试等功能)。
    • 安装:官网下载安装即可。安装后,记得安装官方的 “Python” 插件。
  • 专业之选:PyCharm

    • 优点:专业为 Python 打造,功能开箱即用,非常强大。
    • 注意:有免费的社区版(功能足够学习使用)和付费的专业版。

对于初学者,VS Code 是绝佳的起点。


第二部分:认识“食材”——基本概念

现在,我们来认识一下编程世界最基本的“食材”:变量和数据类型。

1. 变量(贴好标签的储物罐)

变量就是用来存储数据的容器。你可以把它想象成一个贴了标签的罐子,里面可以放糖、盐或咖啡豆。

# 把数字 10 放进一个叫做 ‘age’ 的罐子里
age = 10

# 把字符串 "Alice" 放进一个叫做 ‘name’ 的罐子里
name = "Alice"

# 现在可以打印出罐子里的东西
print("姓名:", name) # 输出:姓名: Alice
print("年龄:", age)  # 输出:年龄: 10

# 你可以随时更换罐子里的东西
age = 11
print("新年龄:", age) # 输出:新年龄: 11

2. 数据类型(食材的种类)

不同的数据有不同的类型,就像糖是颗粒,水是液体。

  • 整数 (int): 没有小数点的数。10-50
  • 浮点数 (float): 有小数点的数。3.14-0.0012.0
  • 字符串 (str): 用单引号 '' 或双引号 "" 包裹的文本。"Hello"‘世界’
  • 布尔值 (bool): 只有两个值:True(真) 和 False(假)。用于表示条件是否成立。
# 不同类型的数据
score = 95      # 整数 (int)
price = 9.9     # 浮点数 (float)
message = "恭喜你!" # 字符串 (str)
is_pass = True  # 布尔值 (bool)

# 用 type() 函数查看数据的类型
print(type(score))   # 输出:<class 'int'>
print(type(message)) # 输出:<class 'str'>

3. 注释(菜谱上的备注)

注释是写给人看的,计算机会忽略它。用 # 开头,用来解释代码的作用。

# 这是一个单行注释,计算下面是圆的面积
radius = 5
area = 3.14 * radius ** 2 # ** 表示乘方,这里是 radius 的 2 次方
print(area)

第三部分:学习“烹饪流程”——程序结构

程序不是从上到下机械执行,它需要根据情况做判断和重复。

1. 条件判断 (if...elif...else) —— “如果…就…”

让程序根据不同条件执行不同的代码。

score = 85

if score >= 90:          # 如果分数 >= 90
    print("成绩优秀!")
elif score >= 60:        # 否则,如果分数 >= 60
    print("成绩及格。")
else:                    # 否则(以上条件都不满足)
    print("成绩不及格,需要努力!")

# 输出:成绩及格。

2. 循环 —— 重复做某事

  • for 循环:已知次数的循环
    常用于遍历一个序列(如列表)。

    # 遍历一个名单,为每个人打印问候语
    names = ["Alice", "Bob", "Charlie"]
    for name in names:
        print("你好,", name) # 这行代码会重复执行3次,每次name的值都不同
    
    # 输出:
    # 你好, Alice
    # 你好, Bob
    # 你好, Charlie
    
  • while 循环:条件满足就循环
    只要条件为 True,就一直循环。

    count = 3
    while count > 0: # 当 count 大于 0 时,循环继续
        print("倒计时:", count)
        count = count - 1 # 每次循环 count 减 1
    
    print("发射!")
    
    # 输出:
    # 倒计时: 3
    # 倒计时: 2
    # 倒计时: 1
    # 发射!
    

第四部分:升级你的“储物架”——核心数据结构

单个变量只能存一个数据。如果我们想存一整类学生的成绩,就需要更强大的“储物架”。

1. 列表 (list) —— 有序、可变的“序列储物架”

  • 特点:元素有顺序,可以通过位置(索引,从0开始)访问,可以随时增删改元素。
  • 标志:方括号 []
# 创建一个水果列表
fruits = ["apple", "banana", "orange"]

# 通过索引访问(第一个元素的索引是0)
print(fruits[0]) # 输出:apple

# 修改元素
fruits[1] = "grape" # 现在列表是 [‘apple‘, ’grape‘, ’orange‘]

# 添加元素到末尾
fruits.append("pear")
print(fruits) # 输出:[’apple‘, ’grape‘, ’orange‘, ’pear‘]

# 获取长度
print(len(fruits)) # 输出:4

2. 元组 (tuple) —— 有序、不可变的“固定储物架”

  • 特点:和列表类似,但一旦创建,不能修改(安全、高效)。
  • 标志:圆括号 ()
# 创建一个表示坐标的元组
point = (10, 20)

print(point[0]) # 输出:10

# point[0] = 5 # 这行代码会报错!因为元组不可修改

3. 字典 (dict) —— “键值对储物架”(像查字典)

  • 特点:通过唯一的“键”来存取对应的“值”,存取速度快,无顺序(Python 3.7+ 有序但不是主要特性)。
  • 标志:花括号 {},键值对用冒号 : 分隔。
# 创建一个学生信息字典
student = {
    "name": "Alice",
    "age": 20,
    "major": "Computer Science"
}

# 通过键来访问值
print(student["name"]) # 输出:Alice

# 修改或添加键值对
student["age"] = 21
student["grade"] = "A" # 添加新的键值对

print(student) # 输出:{’name‘: ’Alice‘, ’age‘: 21, ’major‘: ’Computer Science‘, ’grade‘: ’A‘}

4. 集合 (set) —— “不重复元素的无序储物架”

  • 特点:元素不重复无序。常用于去重和数学集合运算(交集、并集等)。
  • 标志:花括号 {}(但里面是单个元素,不是键值对)。
# 创建一个集合,自动去重
unique_numbers = {1, 2, 2, 3, 3, 3}
print(unique_numbers) # 输出:{1, 2, 3} (顺序可能不同)

# 添加元素
unique_numbers.add(4)

# 集合运算
set_a = {1, 2, 3}
set_b = {2, 3, 4}
print(set_a & set_b) # 交集(两者都有):{2, 3}
print(set_a | set_b) # 并集(合并去重):{1, 2, 3, 4}

四种结构对比总结

数据结构 是否有序 是否可变 元素是否唯一 主要用途
列表 (list) 有序 可变 不唯一 存储有序、可变的项目序列
元组 (tuple) 有序 不可变 不唯一 存储不可变的有序数据(如配置项)
字典 (dict) 无序(但显示有序) 可变 键唯一 通过键快速查找、存储关联数据
集合 (set) 无序 可变 元素唯一 去重、成员测试、集合运算

你的下一步:动手实践!

恭喜你!你已经走完了从零到一最关键的一步。现在,你不仅知道了“锅碗瓢盆”是什么,也学会了基本的“烹饪流程”。

最好的学习方式就是动手:

  1. 打开你的编辑器,创建一个新文件,比如 hello.py
  2. 敲入你的第一行代码print("Hello, World!")
  3. 在终端里运行它python hello.py
  4. 然后,尝试本文中的所有例子,并随意修改它们,看看会发生什么。
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐