很多人第一次学 Python卡住的地方并不是语法。而是还没开始写代码就被一堆东西绕晕了。Python、解释器、编辑器、命令行、pip、PATH、.py文件这些词突然一起出现。视频里老师敲一下python hello.py就跑起来了自己电脑上却提示不是内部或外部命令。这篇文章要解决的就是这个问题。我们不急着写复杂程序先把 Python 程序从哪里来、在哪里写、怎么运行、怎么接收输入、怎么输出结果这条线打通。打通之后后面的判断、循环、函数、数据分析和 AI 应用才有地基。先分清 Python、解释器、编辑器和命令行初学者最容易混在一起的四个东西是名称作用可以怎么理解Python 语言写程序用的语法规则人和计算机约定的一套表达方式Python 解释器真正执行 Python 代码的程序读懂.py文件并执行的人编辑器写代码的工具记事本、VS Code、PyCharm 都属于这一类命令行输入命令、运行程序的入口让你明确告诉电脑要做什么一个 Python 程序运行起来大致是这个流程你在编辑器里写 Python 代码保存成 .py 文件在命令行输入运行命令Python 解释器读取 .py 文件解释器按顺序执行代码控制台显示输出结果这张图很重要。因为很多问题都是这里某一环断了。比如命令行找不到 Python是解释器没有配置好。比如运行时提示找不到文件是命令行所在目录不对。比如双击.py文件一闪而过是运行方式不适合学习调试。安装 Python重点是 PATHPython 官方下载地址https://www.python.org/downloads/Windows 安装时建议勾选Add python.exe to PATHPATH 是系统用来查找命令的位置列表。你在命令行输入python系统会去 PATH 记录的目录里找python.exe。如果没勾选Python 可能已经装好了但命令行不知道它在哪里。安装完成后打开命令行python--version如果输出类似Python 3.13.0说明解释器可以被命令行找到。有些 Windows 环境也可以用py--version有些 macOS 或 Linux 环境会用python3--version初学时不用纠结哪个更高级。你只要确认自己的电脑上哪个命令能正常输出 Python 3 版本后续运行时就用那个命令。第一个.py文件新建文件hello.pyprint(Hello Python)进入文件所在目录运行python hello.py如果输出Hello Python说明从写代码到解释器执行这条链路已经跑通。本地课程资料里的第一个示例是print(##############################)print(####### Hello Python #########)print(##############################)这个例子没有复杂知识点但它能说明 Python 的一个基本规则代码默认从上到下执行。命令行运行、交互式运行、编辑器运行有什么区别你可能见过三种运行方式。第一种交互式环境python进入后会看到类似你可以输入print(Hello)这种方式适合临时试一两行代码。第二种运行脚本文件python hello.py这种方式适合正式学习和写程序。代码能保存、能反复运行、能慢慢扩展。第三种用 VS Code 或 PyCharm 的运行按钮。编辑器运行本质上也是帮你调用解释器。初学时建议你至少学会命令行运行不要只依赖按钮。因为后面安装包、启动 Web 服务、运行 Streamlit、运行 FastAPI 都离不开命令行。工作目录是什么为什么它经常导致找不到文件命令行里有一个概念叫当前目录。当你执行python hello.py系统会在当前目录里找hello.py。如果当前目录不是文件所在目录就会提示找不到文件。Windows 查看当前目录cd切换目录cdD:\python-study建议你专门建一个学习目录D:\python-study ├── 01_hello.py ├── 02_input.py ├── 03_if.py └── 04_loop.py不要把练习文件散落在桌面、下载目录、微信文件夹里。路径越乱后面文件读写越容易出问题。变量是什么环境跑通后程序就要开始处理数据。变量可以理解成数据的名字。course_namePython 入门lesson_count8print(course_name)print(lesson_count)这里的course_name指向字符串lesson_count指向整数。可以画成这样course_namePython 入门lesson_count8更准确地说变量名绑定到一个对象。初学阶段不用把“对象”想复杂只需要知道变量不是一个盒子变量更像贴在数据上的标签。name小明another_namenameprint(name)print(another_name)name和another_name都指向同一个字符串值。Python 是动态类型但不是随便乱来Python 是动态类型语言。value100valuePythonvalueTrue这段代码能运行因为变量名可以重新绑定到不同类型的数据。但真实写代码时不建议这么做。如果value一会儿代表数字一会儿代表字符串一会儿代表布尔值读者就很难判断它到底是什么。更好的写法是让变量名表达稳定含义course_namePythonstudent_count100is_finishedFalse常见数据类型入门阶段先掌握这些类型示例说明int100整数float3.14小数strPython字符串boolTrue、False布尔值NoneTypeNone空值查看类型print(type(100))print(type(3.14))print(type(Python))print(type(True))print(type(None))类型决定数据能做什么。数字可以计算price19.9count3print(price*count)字符串可以拼接first_name小last_name明print(first_namelast_name)布尔值通常用于判断is_vipTrueprint(is_vip)输入和输出输出用print()。输入用input()。nameinput(请输入你的名字)print(你好name)程序会停下来等待你输入。你输入内容并回车后input()会返回这段内容。这里有一个必须记住的规则input()得到的永远是字符串。ageinput(请输入年龄)print(type(age))即使你输入18它仍然是字符串18。如果要计算需要转换ageint(input(请输入年龄))next_ageage1print(f明年你就{next_age}岁了)类型转换怎么判断该用哪个常见转换int(18)float(19.9)str(100)bool(1)什么时候用int()当数据必须是整数比如年龄、数量、排名。什么时候用float()当数据可能有小数比如价格、身高、体重、评分。什么时候用str()当你要把数字拼进文本或者保存为字符串。有个小坑int(19.9)这会报错。因为19.9不是整数格式。应该先转成floatpricefloat(19.9)f-string最推荐的格式化输出不要写这种age18print(我今年age岁)这会报错因为字符串不能直接和整数拼接。推荐写age18print(f我今年{age}岁)f-string 还可以控制小数位price19.987print(f价格是{price:.2f}元)输出价格是 19.99 元.2f表示保留两位小数。一个完整小程序商品总价计算器product_nameinput(请输入商品名称)pricefloat(input(请输入商品单价))countint(input(请输入购买数量))total_priceprice*countprint(f你购买了{count}件{product_name})print(f总价是{total_price:.2f}元)这个小程序已经包含了入门第一阶段最核心的能力用户输入文本input() 获取字符串int() / float() 转换类型变量保存数据完成计算f-string 组织输出print() 打印结果常见错误和排查python不是内部或外部命令原因通常是 PATH 没配好。处理方式重新打开命令行再试。如果还不行重新安装 Python并勾选Add python.exe to PATH。或者使用 Windows 的py命令测试。找不到.py文件原因通常是当前目录不对。先用cd查看当前目录再切换到代码所在目录。ValueError代码ageint(input(请输入年龄))输入十八就会报ValueError。原因是int()只能转换合法整数文本。TypeError代码age18print(年龄age)会报TypeError。原因是字符串和整数不能直接拼接。修复age18print(f年龄{age})练习写一个学习记录程序要求输入姓名。输入课程名。输入已经学习的天数。输出一句完整学习记录。参考代码nameinput(请输入姓名)courseinput(请输入课程名)daysint(input(请输入学习天数))print(f{name}已经学习{course}{days}天了)如果能独立写出来说明你已经掌握了 Python 入门的第一条主线写代码运行代码接收输入保存数据转换类型输出结果。参考资料Python 官方教程https://docs.python.org/3/tutorial/index.htmlPython 下载页https://www.python.org/downloads/