跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Python 零基础入门:环境搭建与基础语法实战

Python 入门指南涵盖环境配置、基础语法、数据结构及函数应用。通过实例演示变量操作、条件判断、循环控制及文件读写,结合猜数字游戏巩固知识。适合初学者建立编程思维,掌握核心概念后进一步探索数据分析或自动化领域。

云间漫步发布于 2026/3/26更新于 2026/10/24120 浏览

Python 零基础入门:环境搭建与基础语法实战

Python 语法接近英语,应用广泛——从数据分析、人工智能到网站开发、自动化办公。今天从零开始,带你迈出第一步。不需要任何编程基础,只要跟着操作,每个概念我都会用最通俗的语言解释清楚。

一、安装 Python:搭建你的编程环境

首先,我们需要在电脑上安装 Python 环境。这个过程就像安装普通软件一样简单。

1. 下载安装包

打开 Python 官网:python.org。点击导航栏的'Downloads',网站会自动检测你的操作系统,并推荐下载最新版。

  • Windows 用户:选择 Windows installer (64-bit)(如果你的电脑是 64 位系统,现在基本都是)。
  • Mac 用户:选择 macOS 64-bit installer。
  • Linux 用户:一般系统自带 Python,如需更新请用包管理器。

2. 安装

双击下载的安装包。这里有一个关键步骤:在安装界面最下方,一定要勾选 'Add Python to PATH'(将 Python 添加到环境变量)。这个选项能让你之后在命令行中直接使用 python 命令,否则每次都要输入完整路径,很麻烦。勾选后点击'Install Now',等待安装完成。

3. 验证安装

安装完成后,打开命令行(Windows:按 Win+R,输入 cmd 回车;Mac:打开'终端')。输入以下命令并回车:

python --version

如果显示类似 Python 3.12.0 的版本号,说明安装成功。如果提示'不是内部或外部命令',说明没有勾选'Add Python to PATH',可以卸载重装,或者手动配置环境变量(新手建议重装)。

小提示:除了官方 Python 环境,你也可以安装 Anaconda——一个包含 Python 和众多数据科学工具的集成平台,特别适合想做数据分析的初学者。不过对于入门,官方 Python 已经足够。

二、第一个 Python 程序:Hello, World!

按照编程界的传统,第一个程序通常是输出'Hello, World!'。Python 有两种运行代码的方式:交互式环境和脚本文件。

1. 交互式环境(适合测试简单代码)

在命令行输入 python 并回车,你会看到 >>> 提示符,这表示进入了 Python 交互式环境。在这里可以直接输入代码,并立刻看到结果。试试输入:

print("Hello, world!")

回车后,屏幕上就会显示 Hello, world!。输入 exit() 可以退出交互环境。

这种方式很适合临时测试一小段代码,但不适合编写完整的程序。

2. 脚本文件(日常开发使用)

创建一个文本文件,重命名为 hello.py(后缀名必须是 .py,这是 Python 文件的标志)。用记事本或 VS Code 等文本编辑器打开,输入:

print("Hello, world!")

保存文件。然后在命令行中切换到该文件所在的目录(例如文件在桌面,就输入 cd Desktop),运行,同样会输出 Hello, world!。恭喜!你的第一个 Python 程序运行成功了。

三、Python 基础语法:从零开始构建知识体系

1. 变量和数据类型

变量就像一个小盒子,用来存放数据。Python 中不需要事先声明盒子里装什么类型的东西,直接放进去就行——这叫'动态类型'。

常见的数据类型有:

  • 字符串(str):文本,需要用引号括起来(单引号或双引号都可以)。
  • 整数(int):没有小数点的数字。
  • 浮点数(float):带小数点的数字。
  • 布尔值(bool):只有 True(真)和 False(假)两种,用于逻辑判断。
name = "小明" # 字符串
age = 18 # 整数
height = 1.75 # 浮点数
is_student = True # 布尔值
print(name, age, height, is_student) # 同时输出多个变量,用逗号分隔

2. 基本运算符

Python 支持常见的数学运算:

a = 10
b = 3
print(a + b) # 13 加法
print(a - b) # 7 减法
print(a * b) # 30 乘法
print(a / b) # 3.3333333333333335 除法(结果总是浮点数)
print(a // b) # 3 整除(只保留整数部分,向下取整)
print(a % b) # 1 取余(求模,即 10 除以 3 的余数)
print(a ** b) # 1000 乘方(10 的 3 次方)

注意 / 和 // 的区别:/ 会得到小数,// 只保留整数部分。

3. 输入与输出

  • 输出:print() 函数用于在屏幕上显示内容。
  • 输入:input() 函数用于获取用户从键盘输入的内容(注意:输入的内容总是字符串)。
name = input("请输入你的名字:")
print("你好," + name + "!") # 字符串拼接(用 + 连接)

但是字符串拼接有时不太方便,Python 提供了更现代的格式化方法——f-string(Python 3.6+ 支持):

age = input("请输入你的年龄:")
print(f"你好,{name},你今年{age}岁了。") # 在字符串前加 f,用花括号{}插入变量

这样写更清晰,也不容易出错。

四、控制流:让程序学会做决定

程序默认是按顺序一行行执行的,但通过'控制流'语句,我们可以让程序根据不同情况选择不同的路线,或者重复执行某些代码。

1. if 条件判断

if 语句用来判断条件是否成立,如果成立就执行缩进的代码块。

score = 85
if score >= 90:
    print("优秀") # 如果 score>=90,执行这里
elif score >= 60: # elif 是 else if 的缩写,表示'否则如果'
    print("及格") # 如果 score 在 60~89 之间,执行这里
else: # 其他所有情况
    print("不及格") # 如果 score<60,执行这里

重要:Python 用缩进(通常是 4 个空格)来表示代码块,而不是像其他语言用花括号 {}。所以缩进一定要对齐,否则会报错。

2. for 循环

for 循环通常用来遍历一个序列(比如列表、字符串、range 生成的数字范围)。

# 遍历列表
fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits: # fruit 依次取列表中的每个元素
    print(f"我喜欢吃{fruit}")

# 使用 range 生成数字序列
# range(5) 生成 0,1,2,3,4(从 0 开始,到 5 结束,不包括 5)
for i in range(5):
    print(f"当前计数:{i}")

# range 可以指定起始和步长
# range(1, 10, 2) 生成 1,3,5,7,9(从 1 开始,到 10 结束,步长为 2)

3. while 循环

while 循环在条件为真时一直重复执行,直到条件变为假。

count = 0
while count < 3: # 当 count 小于 3 时,重复执行
    print(f"正在循环第{count+1}次")
    count += 1 # 每次让 count 增加 1,否则会无限循环

一定要记得更新计数器,否则条件永远为真,程序会陷入无限循环(可以用 Ctrl+C 强制终止)。

4. 循环控制:break 和 continue

  • break:立即跳出整个循环。
  • continue:跳过本次循环的剩余代码,直接进入下一次循环。
# break 示例:找到第一个能被 7 整除的数
for i in range(1, 20):
    if i % 7 == 0:
        print(f"找到了:{i}")
        break # 找到后就跳出循环

# continue 示例:只打印奇数
for i in range(10):
    if i % 2 == 0: # 如果是偶数
        continue # 跳过本次循环,不执行后面的 print
    print(i) # 输出 1,3,5,7,9

五、数据结构:组织数据的容器

数据结构是存放数据的'容器',Python 提供了几种非常实用的内置数据结构。

1. 列表(List)——有序可变序列

列表用方括号 [] 表示,里面的元素可以是任意类型,并且可以随时添加、删除或修改。

# 创建列表
fruits = ["苹果", "香蕉", "橘子"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "hello", True, 3.14] # 列表可以混合不同类型

# 访问元素(索引从 0 开始)
print(fruits[0]) # 第一个元素:"苹果"
print(fruits[-1]) # 最后一个元素:"橘子"(-1 表示倒数第一个)

# 修改元素
fruits[1] = "草莓" # 将第二个元素改为"草莓"

# 添加元素
fruits.append("葡萄") # 在末尾添加

# 删除元素
fruits.remove("苹果") # 删除指定值的元素(只删除第一个匹配项)

# 列表长度
print(len(fruits)) # 获取列表元素个数

# 切片:获取子列表 [start:end:step]
print(numbers[1:4]) # 从索引 1 到 3(不包括 4):[2,3,4]
print(numbers[:3]) # 从头到索引 2:[1,2,3]
print(numbers[::2]) # 从头到尾,步长为 2:[1,3,5]

2. 元组(Tuple)——有序不可变序列

元组用圆括号 () 表示,一旦创建就不能修改(不可变)。适合存储固定不变的数据,比如坐标、颜色值。

coordinates = (10, 20) # 二维坐标
rgb_color = (255, 128, 0) # RGB 颜色值

# 访问元素
print(coordinates[0]) # 10

# 元组不能修改,下面的代码会报错
# coordinates[0] = 30 # TypeError: 'tuple' object does not support item assignment

3. 字典(Dict)——键值对集合

字典用花括号 {} 表示,每个元素由'键:值'组成,通过键来访问对应的值。字典中的键必须是唯一的。

# 创建字典
student = {
    "name": "小明",
    "age": 18,
    "score": 95
}

# 访问值
print(student["name"]) # 小明
print(student.get("age")) # 18(用 get 方法,如果键不存在返回 None,不会报错)

# 修改值
student["score"] = 98

# 添加新键值对
student["gender"] = "男"

# 删除键值对
del student["age"]

# 遍历字典
for key, value in student.items():
    print(f"{key}: {value}")

4. 集合(Set)——无序不重复元素

集合用花括号 {} 表示,但里面只有值,没有键。集合会自动去除重复元素,并且可以进行数学上的集合运算。

# 创建集合
numbers = {1, 2, 3, 3, 2} # 重复元素会被自动去除
print(numbers) # {1, 2, 3}

# 集合运算
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}
print(set_a - set_b) # 差集:在 set_a 但不在 set_b 中的元素 {1}
print(set_a ^ set_b) # 对称差集:两个集合中不重复的元素 {1, 4}

六、函数:代码复用的艺术

当我们需要重复执行某段代码时,可以把它封装成一个函数,需要时直接调用,避免重复写同样的代码。

1. 定义和调用函数

用 def 关键字定义函数,后面跟函数名和圆括号,冒号后缩进写函数体。

def greet(name):
    """这是一个简单的打招呼函数(文档字符串,用来解释函数的作用)"""
    print(f"你好,{name}!")

# 调用函数
greet("小红")
greet("小李")

2. 返回值

函数可以用 return 语句返回一个值,调用函数的地方会得到这个值。

def add(a, b):
    return a + b # 返回 a+b 的结果

result = add(3, 5) # result 接收返回值
print(result) # 8

3. 参数类型

  • 位置参数:调用时按顺序传入。
  • 默认参数:定义时可以给参数一个默认值,调用时如果不传就用默认值。
  • 关键字参数:调用时通过参数名指定,可以打乱顺序。
# 默认参数
def power(base, exponent=2):
    return base ** exponent

print(power(3)) # 9(只传一个参数,exponent 使用默认值 2)
print(power(3, 3)) # 27(两个参数都传了)

# 关键字参数
print(power(exponent=4, base=2)) # 16,顺序无关,通过参数名指定

4. 变量作用域

  • 全局变量:在函数外部定义的变量,整个程序都能访问。
  • 局部变量:在函数内部定义的变量,只能在函数内部使用。
  • 如果要在函数内部修改全局变量,需要用 global 声明。
x = 10 # 全局变量

def my_func():
    y = 5 # 局部变量
    global x # 声明 x 是全局变量
    x = 20 # 修改全局变量
    print(f"函数内部:x={x}, y={y}")

my_func()
print(f"函数外部:x={x}") # 20,全局变量被修改了
# print(y) # 报错!y 在函数外部不可见

七、文件操作与异常处理

1. 文件读写

Python 可以很方便地读写文件。使用 open() 函数打开文件,操作完成后要关闭文件(用 close()),但更推荐用 with 语句,它会自动关闭文件。

# 写入文件('w'模式:写入,会覆盖原有内容;如果文件不存在会创建)
with open('test.txt', 'w', encoding='utf-8') as file:
    file.write("Hello, World!\n")
    file.write("这是第二行\n")

# 读取文件('r'模式:读取)
with open('test.txt', 'r', encoding='utf-8') as file:
    content = file.read() # 一次读取全部内容
    print(content)

# 逐行读取(适合大文件,避免一次性占用太多内存)
with open('test.txt', 'r', encoding='utf-8') as file:
    for line in file:
        print(line.strip()) # strip() 去除行尾的换行符

# 追加内容('a'模式:追加,在文件末尾添加)
with open('test.txt', 'a', encoding='utf-8') as file:
    file.write("这是追加的内容\n")

encoding='utf-8' 是为了正确处理中文,否则可能会出现乱码。

2. 异常处理

程序运行时可能会遇到错误(比如用户输入了非数字、除数为 0),如果不处理,程序就会崩溃。用 try...except 可以捕获异常,让程序更健壮。

try:
    num = int(input("请输入一个数字:"))
    result = 10 / num
    print(f"10 除以{num}等于{result}")
except ValueError:
    print("输入无效,请输入数字!") # 捕获输入不是数字的错误
except ZeroDivisionError:
    print("除数不能为 0!") # 捕获除以 0 的错误
else:
    print("计算成功完成!") # 没有异常时执行
finally:
    print("程序执行结束") # 无论是否有异常都会执行

八、模块与库:站在巨人的肩膀上

Python 的强大之处在于它有丰富的模块和库,你可以直接使用别人写好的功能,避免重复造轮子。

1. 导入模块

用 import 关键字导入模块,然后使用模块名。函数名的方式调用。

# 导入整个模块
import math
print(math.sqrt(16)) # 4.0(求平方根)

# 只导入模块中的特定函数
from random import randint
print(randint(1, 100)) # 生成 1-100 的随机整数

# 给模块起别名
import datetime as dt
print(dt.datetime.now()) # 当前日期时间

# 不推荐:导入所有内容(可能导致命名冲突)
# from math import *

2. 常用内置模块

  • os:与操作系统交互(文件路径、环境变量等)
  • sys:与 Python 解释器交互(命令行参数等)
  • json:处理 JSON 数据
  • re:正则表达式
  • time:时间相关函数

3. 安装第三方库

除了 Python 自带的模块,还有成千上万的第三方库可以用。用 pip 工具安装:

pip install requests # 安装网络请求库
pip install numpy # 安装科学计算库
pip install pandas # 安装数据分析库

安装后就可以导入使用:

import requests
response = requests.get("https://api.github.com")
print(response.status_code) # 200 表示请求成功

九、动手小项目:猜数字游戏

下面我们把学到的知识组合起来,写一个简单的猜数字游戏。这个程序会随机生成一个 1 到 100 之间的数字,让玩家猜,每次猜错会提示'太大了'或'太小了',直到猜对为止。

import random # 导入 random 模块,用于生成随机数

# 生成一个 1 到 100 之间的随机整数,赋值给 secret
secret = random.randint(1, 100)

# 初始化变量
guess = 0 # 玩家猜的数字,初始为 0(确保不等于 secret)
tries = 0 # 记录尝试次数

print("欢迎来玩猜数字游戏!")
print("我已经想好了一个 1 到 100 之间的数字。")

# 只要玩家没猜对,就继续循环
while guess != secret:
    # 获取玩家输入,并转换为整数
    guess = int(input("你猜的数字是:"))
    tries += 1 # 尝试次数加 1

    if guess < secret:
        print("太小了!再试试吧。")
    elif guess > secret:
        print("太大了!再试试吧。")

# 循环结束,说明猜对了
print(f"恭喜你!猜对了!数字就是{secret}。")
print(f"你一共用了{tries}次。")

代码解释:

  • import random:引入随机数模块。
  • secret = random.randint(1, 100):生成 1~100 的随机整数。
  • while guess != secret::循环条件,只要猜的数字不等于秘密数字就继续。
  • guess = int(input(...)):input 返回的是字符串,需要用 int() 转换成整数才能比较。
  • tries += 1:每猜一次增加计数。
  • if...elif...:根据猜测值给出提示。
  • 当 guess == secret 时,循环结束,输出祝贺信息。

把这段代码保存为 .py 文件并运行,就能玩啦!

十、学习资源推荐

  • 官方文档:docs.python.org/zh-cn/3/(有中文版,是最权威的参考)
  • 在线教程:菜鸟教程、廖雪峰的 Python 教程、W3Schools
  • 练习平台:LeetCode(题库)、Codewars(闯关式)、牛客网
  • 书籍:
    • 《Python 编程:从入门到实践》(适合零基础,项目驱动)
    • 《流畅的 Python》(进阶必读)
  • 视频课程:各大视频平台搜索'Python 入门',有很多免费优质课程。

十一、写在最后

编程是一门实践性很强的技能,只看不练永远学不会。建议你每天花一点时间敲代码,从简单的例子开始,慢慢尝试修改、组合。遇到错误不要怕,把错误信息复制到搜索引擎里,你会发现无数人遇到过同样的问题——编程的过程就是不断解决问题的过程。

Python 的世界很大,今天的入门只是打开了大门。坚持下去,你一定能写出属于自己的精彩程序。

目录

  1. Python 零基础入门:环境搭建与基础语法实战
  2. 一、安装 Python:搭建你的编程环境
  3. 1. 下载安装包
  4. 2. 安装
  5. 3. 验证安装
  6. 二、第一个 Python 程序:Hello, World!
  7. 1. 交互式环境(适合测试简单代码)
  8. 2. 脚本文件(日常开发使用)
  9. 三、Python 基础语法:从零开始构建知识体系
  10. 1. 变量和数据类型
  11. 2. 基本运算符
  12. 3. 输入与输出
  13. 四、控制流:让程序学会做决定
  14. 1. if 条件判断
  15. 2. for 循环
  16. 遍历列表
  17. 使用 range 生成数字序列
  18. range(5) 生成 0,1,2,3,4(从 0 开始,到 5 结束,不包括 5)
  19. range 可以指定起始和步长
  20. range(1, 10, 2) 生成 1,3,5,7,9(从 1 开始,到 10 结束,步长为 2)
  21. 3. while 循环
  22. 4. 循环控制:break 和 continue
  23. break 示例:找到第一个能被 7 整除的数
  24. continue 示例:只打印奇数
  25. 五、数据结构:组织数据的容器
  26. 1. 列表(List)——有序可变序列
  27. 创建列表
  28. 访问元素(索引从 0 开始)
  29. 修改元素
  30. 添加元素
  31. 删除元素
  32. 列表长度
  33. 切片:获取子列表 [start:end:step]
  34. 2. 元组(Tuple)——有序不可变序列
  35. 访问元素
  36. 元组不能修改,下面的代码会报错
  37. coordinates[0] = 30 # TypeError: 'tuple' object does not support item assignment
  38. 3. 字典(Dict)——键值对集合
  39. 创建字典
  40. 访问值
  41. 修改值
  42. 添加新键值对
  43. 删除键值对
  44. 遍历字典
  45. 4. 集合(Set)——无序不重复元素
  46. 创建集合
  47. 集合运算
  48. 六、函数:代码复用的艺术
  49. 1. 定义和调用函数
  50. 调用函数
  51. 2. 返回值
  52. 3. 参数类型
  53. 默认参数
  54. 关键字参数
  55. 4. 变量作用域
  56. print(y) # 报错!y 在函数外部不可见
  57. 七、文件操作与异常处理
  58. 1. 文件读写
  59. 写入文件('w'模式:写入,会覆盖原有内容;如果文件不存在会创建)
  60. 读取文件('r'模式:读取)
  61. 逐行读取(适合大文件,避免一次性占用太多内存)
  62. 追加内容('a'模式:追加,在文件末尾添加)
  63. 2. 异常处理
  64. 八、模块与库:站在巨人的肩膀上
  65. 1. 导入模块
  66. 导入整个模块
  67. 只导入模块中的特定函数
  68. 给模块起别名
  69. 不推荐:导入所有内容(可能导致命名冲突)
  70. from math import *
  71. 2. 常用内置模块
  72. 3. 安装第三方库
  73. 九、动手小项目:猜数字游戏
  74. 生成一个 1 到 100 之间的随机整数,赋值给 secret
  75. 初始化变量
  76. 只要玩家没猜对,就继续循环
  77. 循环结束,说明猜对了
  78. 十、学习资源推荐
  79. 十一、写在最后

更多推荐文章

查看全部
  • PCL2 启动器优化我的世界 Java 环境与 Mod 管理
  • 基于 Isaac Lab 训练机器人行走实战指南
  • 前端WebSocket实战:别再只会用HTTP了
  • SpringBoot 整合 Neo4j 图数据库项目实战详解
  • Linux 下 libwebkit2gtk-4.1-0 安装与使用指南
  • OpenClaw 开源 AI 智能体项目汇总与部署指南
  • 配置 SSH 密钥与国内镜像加速 Fun-ASR 代码拉取
  • AI 大模型开发经典书籍推荐与学习路径
  • 2023 年网络安全基础知识点
  • Python 系统学习流程图与进阶指南
  • 黑马商城 ElasticSearch 分布式架构实战
  • Transformer 分词算法详解:BPE、WordPiece 与 SentencePiece
  • 前端面试核心考点解析:ES6 跨域 Vue3 响应式与大数据渲染优化
  • Spring Cloud Config 与 Apollo 架构深度解析
  • C++ 快读快写技术详解
  • iTerm2 Snazzy 主题安装与色彩自定义教程
  • 2G 内存云服务器部署 Spring Boot + MySQL 实践
  • AI 大模型全面掌握指南:从理论到实践的学习路径
  • 灵感画廊 AI 绘画工具安装与使用指南
  • AI 大模型核心学习资源与实战路径指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online