本章目标
学完后你至少应该能做到:
- 知道 Python 是解释型语言,代码通常通过解释器运行
- 会检查本机 Python 和
pip是否可用 - 会创建项目目录和虚拟环境
- 会运行简单的
.py脚本 - 能看懂基础的命令行参数
- 能区分"代码问题"和"环境问题"
1. Python 是什么
Python 是一种通用编程语言,特点是:
- 语法相对直观,适合入门
- 生态很广,适合脚本、后端、自动化、数据处理、AI 工具开发
- 常见使用方式是直接运行
.py文件
你可以把 Python 先理解成两部分:
- Python 语言:你写的语法规则,比如变量、函数、循环
- Python 解释器:真正执行代码的程序,比如
python3
当你写了一个 hello.py 文件后,真正执行它的是解释器,而不是这个文件自己会"跑起来"。
2. 先确认环境是否可用
在终端执行下面几个命令:
bash
python3 --version
which python3
pip3 --version
如果你看到版本号,说明系统里已经有可用的 Python。
常见现象和含义:
python3 --version输出Python 3.x.x:说明 Python 3 可用which python3输出一个路径:说明终端能找到解释器pip3 --version输出版本和路径:说明包管理工具可用
为什么很多教程写 python,而这里更推荐 python3:
- 在不少系统里,
python可能不存在 - 有些旧环境里,
python可能仍然指向 Python 2 python3含义更明确,入门阶段不容易混淆
如果你的环境里 python 也能直接用,后续完全可以统一一种命令风格,但前提是你知道自己当前调用的是哪个版本。
3. 推荐的项目目录结构
刚开始不要把文件乱丢到桌面。建议从一开始就养成目录习惯:
text
python-demo/
|-- .venv/
|-- examples/
| |-- hello_python.py
| `-- cli_args_demo.py
`-- README.md
目录说明:
.venv/:虚拟环境目录,用来隔离项目依赖examples/:示例代码README.md:说明这个目录是做什么的
本章已经按这个思路提供了两个示例文件,放在当前目录的 examples 下。
4. 第一个 Python 脚本
文件:(./examples/hello_python.py)
python
print("你好,Python")
course_name = "Python 开发环境与运行方式"
lesson_index = 1
is_ready = True
print(f"当前章节:第 {lesson_index} 章")
print(f"课程主题:{course_name}")
print(f"环境是否准备完成:{is_ready}")
运行命令:
bash
python3 examples/hello_python.py
代码说明
第 1 行:
print("你好,Python")会把括号里的内容输出到终端print是 Python 最常见的输出函数- 字符串内容用引号包起来,单引号和双引号都可以
第 3 行:
course_name = "Python 开发环境与运行方式"是变量赋值- 左边的
course_name是变量名 - 右边的字符串是变量当前保存的值
- 等号在这里不是数学里的"相等",而是"把右边的值交给左边的变量"
第 4 行:
lesson_index = 1定义了一个整数变量- Python 不要求你先写类型声明,解释器会根据值推断类型
第 5 行:
is_ready = True定义了一个布尔值True和False首字母必须大写
第 7 到 9 行:
- 这里使用了
f"..."这种格式化字符串写法 - 花括号
{}里的变量会在输出时被替换成实际值 - 这是 Python 里最常用、最直观的字符串拼接方式
这个文件虽然很简单,但已经包含了入门最关键的几件事:
- Python 文件以
.py结尾 - 代码通常是一行一行顺序执行
- 变量可以保存不同类型的值
- 输出结果要通过运行脚本才能看到
5. Python 脚本的几种常见运行方式
方式 1:交互式解释器
命令:
bash
python3
进入后你会看到提示符,然后可以直接输入:
python
print("hello")
2 + 3
name = "Alice"
print(name)
这种方式适合:
- 临时测试一两行代码
- 验证语法
- 快速观察表达式结果
不适合:
- 编写正式脚本
- 保存长期代码
- 管理稍微复杂一点的逻辑
退出方式通常是:
- macOS / Linux:
Ctrl + D - Windows:
Ctrl + Z后回车
方式 2:运行脚本文件
命令:
bash
python3 examples/hello_python.py
这是最常见、最正式的入门方式。你把代码写进文件,再由 Python 解释器执行这个文件。
这个命令可以拆成两部分理解:
python3:解释器程序examples/hello_python.py:要执行的脚本文件路径
方式 3:带参数运行脚本
文件:(./examples/cli_args_demo.py)
python
import sys
from pathlib import Path
def build_message(argv: list[str]) -> str:
script_name = Path(argv[0]).name
args = argv[1:]
if not args:
return f"脚本 {script_name} 已启动,但你还没有传入任何参数。"
joined_args = ", ".join(args)
return f"脚本 {script_name} 收到 {len(args)} 个参数:{joined_args}"
def main() -> None:
print("这是一个命令行参数示例。")
print(build_message(sys.argv))
if __name__ == "__main__":
main()
运行命令:
bash
python3 examples/cli_args_demo.py
python3 examples/cli_args_demo.py apple banana 2026
代码说明
第 1 行:
import sys表示导入 Python 标准库里的sys模块sys.argv用来获取命令行参数
第 2 行:
from pathlib import Path导入PathPath是处理文件路径时非常常用的工具
第 5 行:
def build_message(argv: list[str]) -> str:定义了一个函数- 函数名是
build_message argv: list[str]表示参数argv预期是字符串列表-> str表示这个函数会返回字符串
第 6 行:
argv[0]通常是脚本本身的路径Path(argv[0]).name的作用是只取文件名部分- 如果直接打印
argv[0],有时会看到完整路径,不够直观
第 7 行:
argv[1:]是切片写法,意思是"从第 2 个元素取到最后一个"- 这部分才是用户真正传入的参数
第 9 到 10 行:
if not args:表示如果参数列表为空- 也就是用户只运行了脚本,但没有额外传参
- 这种写法是 Python 里很常见的"空值判断"
第 12 行:
", ".join(args)会把列表中的字符串拼成一个大字符串- 例如
["apple", "banana"]会变成"apple, banana"
第 16 到 18 行:
main()是很多脚本里常见的入口函数- 好处是可以把"程序主流程"集中起来,结构更清晰
最后两行:
if __name__ == "__main__":是 Python 脚本里非常重要的惯用写法- 当文件被直接运行时,这个条件为真,
main()会执行 - 当文件被别的模块导入时,这里的代码不会自动执行
你现在不需要把它背下来,但必须知道它常见、重要,而且以后会反复看到。
6. python、python3、pip、pip3 是什么关系
可以先这样理解:
python3:运行 Python 3 解释器pip3:给 Python 3 安装第三方包
常见命令:
bash
python3 --version
pip3 --version
python3 -m pip --version
为什么很多人更推荐:
bash
python3 -m pip install 包名
原因是这能更明确地表示:
- 我就是要用当前这个
python3对应的pip - 可以减少"包装进了别的 Python 环境里"的问题
例如:
bash
python3 -m pip install requests
这条命令的意思不是"必须这样写",而是"这样更稳,更容易少踩坑"。
7. 虚拟环境为什么重要
很多初学者会直接把所有包装到系统 Python 里,短期看没问题,长期一定乱。
虚拟环境的作用是:
- 给当前项目单独准备一套 Python 运行环境
- 不同项目可以安装不同版本的依赖
- 避免全局环境越来越混乱
你可以把它理解成:
- 系统 Python:公共大环境
- 虚拟环境:当前项目的小隔间
创建虚拟环境
在项目目录执行:
bash
python3 -m venv .venv
这条命令的意思:
python3 -m venv:调用 Python 内置的venv模块.venv:在当前目录创建一个叫.venv的虚拟环境文件夹
激活虚拟环境
macOS / Linux:
bash
source .venv/bin/activate
Windows PowerShell:
powershell
.venv\Scripts\Activate.ps1
Windows CMD:
cmd
.venv\Scripts\activate.bat
激活后,终端前面通常会出现类似 (.venv) 的提示,表示你正在使用这个项目自己的 Python 环境。
退出虚拟环境
bash
deactivate
在虚拟环境里安装包
bash
python -m pip install requests
注意这里很多人会用 python 而不是 python3,原因是:
- 激活虚拟环境后,当前终端里的
python通常已经指向虚拟环境内部的解释器 - 这时继续用
python -m pip反而更自然
也就是说:
- 没激活虚拟环境时,优先使用
python3 - 激活虚拟环境后,优先确认
python指向的是当前虚拟环境
8. 推荐的最小工作流
对于入门者,建议每次都按这个顺序做:
- 创建项目目录
- 进入项目目录
- 创建虚拟环境
- 激活虚拟环境
- 编写
.py文件 - 用
python或python3运行脚本 - 需要第三方库时再安装依赖
示例:
bash
mkdir python-demo
cd python-demo
python3 -m venv .venv
source .venv/bin/activate
python --version
python examples/hello_python.py
如果你还没有 examples/hello_python.py,就先自己创建一个再运行。
9. 常见错误和排查思路
command not found: python3
说明系统里没有找到 python3 命令,常见原因:
- Python 没安装
- 安装了,但没有加入命令行可识别的路径
No such file or directory
说明你给出的文件路径不对。重点检查:
- 当前终端是不是在正确目录
- 文件名有没有拼错
- 相对路径是不是写错了
例如你在错误目录执行:
bash
python3 examples/hello_python.py
就可能找不到文件。
ModuleNotFoundError
说明代码里导入了某个模块,但当前环境没有安装。
常见排查顺序:
- 先确认自己是不是已经激活了正确的虚拟环境
- 再确认包是不是安装到了当前环境
- 最后检查导入名和包名是否写错
双击 .py 文件没反应
入门阶段不要依赖双击运行。优先使用终端命令:
bash
python3 文件名.py
这样更清楚,也更容易看到报错信息。
10. 本章总结
这一章你真正要拿下的不是某一行语法,而是下面这套基本能力:
- 知道 Python 代码是靠解释器执行的
- 会用
python3运行.py文件 - 知道
pip是装依赖的,不是运行代码的 - 理解虚拟环境是在做项目隔离
- 能看懂最基础的脚本结构和命令行参数
如果这些已经熟悉,下一章再进入变量、数据类型、字符串、列表、字典这些语法内容,会顺很多。