装好Python之后很多人对着开始菜单里那几项快捷方式会愣一下双击“Python 3.x”出来的那个黑窗口到底是干嘛的这个窗口里输入东西怎么没有反应其实那个窗口就是IDLE的Python Shell是你用Python写代码、跑代码最直接的入口。这篇就专门讲清楚一件事怎么用IDLE把第一个Python脚本Hello World跑起来。先说明一下标题里写的IDEL正确的拼写是IDLE全称是Integrated Development and Learning Environment翻译过来就是集成开发与学习环境。这个问题后面细说反正先记住搜IDEL和IDLE指向的是同一个东西。这篇文章不是拿来充数的科普而是把新手在第一步最容易卡住的几个地方全部拆开讲IDLE和Python Shell是什么关系、Shell窗口和脚本编辑窗口的区别、Hello World从新建文件到按下F5的完整流程、以及新手最常见的几个报错和误解。不管你是完全零基础、刚看完安装教程正发愁下一步干什么还是已经装好了PyCharm但想先弄明白Python自带的工具怎么用这篇文章都适合你。1. 跑Hello World之前先把IDLE这个工具认清1.1 IDLE到底是什么以及为什么总有人把它写成IDELIDLE是Python安装包自带的一个轻量级开发环境不是一个需要单独下载的软件。也就是说只要你电脑上成功装了PythonIDLE就已经在机器上了不需要额外配置。默认情况下IDLE包含几个东西一个带交互功能的Python Shell窗口就是你看到的带提示符的窗口、一个简单的文本编辑器用来写多行代码、一个调试器。对新手来说前两个已经足够起步了。至于拼写问题我在各种学习交流群里看到过太多次“IDEL”“IDLE”混着用的情况。IDLE本身取自“Integrated Development and Learning Environment”的缩写同时致敬了Monty Python这个喜剧团体的成员Eric Idle。所以正确拼写是IDLE不是IDEL。你把这个拼写纠正过来后面搜资料、看文档会顺畅很多。1.2 确认环境Python装好了IDLE去哪了想知道自己机器上有没有IDLE最简单的办法是去操作系统的开始菜单Windows里搜“IDLE”或者“idle”有结果就说明你装过Python且安装时勾选了默认组件。Mac用户一般在“应用程序/实用工具”目录里能看到Python自带的IDLE入口或者在Spotlight里直接搜IDLE。如果搜不到分两种情况。一种是你装了Python但安装时没有把IDLE组件装上这种情况在Windows里最常见解决方式是重新运行Python安装包选择Modify把“td/Tk and IDLE”这个选项勾上然后继续安装。另一种情况是你根本没装Python那第一步其实是去Python官网下载安装包而不是纠结IDLE的问题。装的时候记得把“Add Python to PATH”勾上后面省不少事。1.3 打开IDLE的几种方式总有一种适合你打开IDLE不是什么高难度动作但不同场景下用不同方式能帮你少走弯路开始菜单方式Windows用户在开始菜单里输入“idle”点匹配到的应用图标即可。这是最正常的操作适合平时打开。命令行方式打开终端Windows下是cmd或PowerShellMac下是Terminal输入idle回车。如果你安装Python时把“Add Python to PATH”勾选了这个命令直接有效。没勾选的话系统会提示找不到命令所以这一步也能顺带验证你的环境变量是否配置成功。命令行指定模块方式在终端里输入python -m idlelib。这种方式的好处是不依赖环境变量只要你的python命令本身能运行它就一定能把IDLE启动起来。内部原理是启动Python解释器并执行idlelib这个标准库模块。打开之后你会看到一个窗口最下面一行有这样的提示符光标停在它后面一闪一闪这就是Python Shell同时也是IDLE的主窗口。2. Shell窗口和脚本窗口两种模式先分清后面少踩一半坑2.1 带提示符的Shell窗口是干嘛的很多新手打开IDLE后会在窗口里输入一大段代码却发现每敲一行回车就立刻被执行了一行根本没法“先写好一大堆再运行”。这不是软件坏了而是因为你所在的窗口叫做Python Shell它执行的是交互模式。交互模式的特点是一行一算你输入print(hello world)按下回车它立刻在当前窗口下一行输出hello world。整个过程像是跟Python解释器你来我往地聊天——你给它一句指令它马上给你一个结果所以这种模式也叫“交互式解释器”。交互模式适合什么场景适合验证一个函数返回什么、算一个简单计算、试一段不完整的想法。比如我不确定2 ** 10是多少直接在后面输入2 ** 10回车立刻看到1024。这个过程很爽因为它不需要建文件、保存文件打开了就能用。2.2 脚本窗口才是正经写程序的地方交互模式虽然方便但它有个硬伤你不能在里面保存代码。你输完一百行代码关了窗口什么都没了。真正写Python程序应该使用IDLE的文本编辑器窗口也叫脚本窗口或编辑窗口。打开脚本窗口的方式是在IDLE的Shell窗口顶部菜单栏点“File”然后点“New File”Windows下快捷键是CtrlNMac下是CommandN。这时候会弹出一个全新的空白窗口没有提示符只有光标等着你敲代码。这个窗口本质上就是一个简单文本编辑器但它对手里写的东西有“Python语法高亮”功能——如果你输入print它会用一种颜色显示字符串和数字又是其他颜色。同时它还懂基本的Python缩进规则回车后自动帮你对齐。写在这里的代码不会逐行执行而是一整个文件等你去运行。你想写多少行都行想什么时候运行都可以而且可以保存成py文件下次再打开继续改。2.3 实测对比同样一句话两种模式的体验差别给你看个直观对比Shell窗口的玩法 print(hello world) hello world你输一行它回一行。脚本窗口的玩法在脚本窗口输入print(hello world) print(hello python)保存后按F5程序一次性输出两行结果。全程你只看到你在编辑窗口写代码运行结果回到原来那个Shell窗口显示。新手最容易出现的问题就是在Shell窗口里尝试写大段代码发现没法保存以为IDLE这个工具太简陋了。其实只是没分清这两个窗口的角色。Shell窗口适合临时尝试脚本窗口适合正式编写和保存两者配合使用才是完整的开发流程。3. 手把手把Hello World跑起来从新建文件到F5运行3.1 第一步新建脚本文件并保存到专门目录在你把Python源码跑起来之前先养成一个习惯不要把所有文件随手丢在桌面或者下载文件夹里。桌面上东西太杂容易误删下载文件夹更不适合放工程文件。建议新建一个专门的目录比如D:\python_code或者C:\Users\你的用户名\python_code以后所有练习代码都放这里面。操作流程打开IDLE进入Shell窗口。菜单栏点File - New File打开空白脚本窗口。在脚本窗口点File - Save As快捷键CtrlShiftS弹保存对话框。在对话框里选择刚才建好的目录作为保存位置。文件名输入hello.py点保存。这里要专门提醒一下文件名的后缀必须是.py这是Python源码文件的统一后缀。如果你保存的时候发现文件类型栏显示的是“Python file”那就不用担心保存结果肯定是.py结尾。如果你发现文件保存后叫hello.py.txt那是操作系统默认隐藏了真实后缀建议去文件资源管理器里把“隐藏已知文件类型的扩展名”关掉否则后面很容易搞混。3.2 第二步写Hello World代码逐词拆解print在空白的脚本窗口里输入这一行print(hello world)然后逐词理解print是一个内置函数。它的作用是把括号里的内容输出到屏幕上。这里的“屏幕”就是IDLE里那个Python Shell窗口。左括号(和右括号)是调用函数必须要写的“执行标记”。在Python 3里print后面必须带括号。如果你写的是老式语法print hello world程序会直接报错SyntaxError。很多网上老旧的教程还会这么写你再看到这种代码时心里要有数那是Python 2时代的写法不要照抄。hello world是一个字符串也就是一串文本。字符串要用引号包起来Python里单引号和双引号都可以效果完全一样。我习惯用双引号因为如果字符串里本身包含撇号比如Lets go外层用双引号能少踩一个转义坑。括号里也可以是中文比如print(你好世界)一样能输出。这行代码整体含义是调用print函数把hello world这个字符串打印到屏幕上。3.3 第三步运行脚本的两种方式以及运行结果会出现在哪里代码写好了怎么运行有两种方法方法一在脚本窗口里按快捷键F5。方法二在脚本窗口菜单栏点击Run - Run Module。注意当你按F5运行脚本时窗口中如果代码还没保存IDLE会先弹出一个保存确认框让你把改动保存之后才执行。所以不要再问“我是不是要先保存再运行”——IDLE在运行前会强制你保存保证你运行的代码和文件里保存的代码完全一致。按下F5之后你会看到IDLE自动切回到刚才那个带提示符的Shell窗口在底部显示出一行输出结果hello world到这里你已经成功用IDLE运行了第一个Python脚本。别小看这个瞬间你写下的这行文本经过了Python解释器的读取、语法解析、字节码编译、虚拟机执行这些完整流程最终才变成你在屏幕上看到的这行字。这代表你的Python环境一切正常代码链路完全打通。3.4 补充在系统命令行里也能运行这个脚本IDLE内部跑脚本本质上调用的是Python解释器来执行这个文件。所以你也可以不打开IDLE直接在系统终端里运行。Windows系统下在文件资源管理器里进入hello.py所在目录然后在地址栏输入cmd回车打开命令提示符窗口再输入python hello.py就能看到hello world被输出。Mac和Linux系统同理在终端里cd到脚本所在目录后输入python3 hello.py。这条补充的意义在于你以后工作里不一定都用IDLE写代码但最终所有Python程序的执行逻辑都一样解释器 脚本文件名。搞明白这一点你对“运行Python脚本”这件事的理解就不只局限于IDLE这个工具本身了。4. 新手最常踩的坑我在教别人时见过最多的报错和误解4.1 缩进错误为什么总盯上新手Hello World本身只有一行代码不会碰到缩进问题但你在保存和运行这个脚本的过程中编辑窗口可能会在你回车后自动缩进到奇怪的位置。比如你在某行末尾多打了两个空格运行时可能报错。真正常见的缩进错误出现在你开始写if、for、while这类结构时。Python用缩进来区分代码块不像C语言或Java用花括号。所以如果你写if 1 0: print(yes)print没有缩进Python会直接抛IndentationError: expected an indented block。解决方式只有一个保持同样的缩进层级用同样数量的空格或同样次数的Tab不要混着用。IDLE默认把你的Tab自动转成4个空格这样不容易出问题。但如果你把代码从一个编辑器复制到另一个编辑器很容易混进Tab和空格这大概是Python新手遇到最多的语法报错之一。4.2 中英文标点混用导致的语法错误还有一个高频问题而且几乎每个新手都会遇到一次输入了中文引号或者中文括号。你现在的输入法很可能默认是中文状态当你写print(hello world)的时候如果输入的引号是中文全角的“和”Python会一脸茫然地报错SyntaxError: invalid character “。因为Python只认识英文半角的引号、括号(、逗号,,其它符号一律按非法字符处理。这个问题怎么彻底避免在IDLE里写代码时先把输入法切换到英文状态或者用Shift键快速切换中英文。这是零基础阶段必须养成的习惯。具体表现是写代码时编辑器里所有标点符号都应该是直立的英文逗号、英文括号和英文引号而不是圆滚滚的中文全角符号。4.3 文件名和保存位置的那些坑文件名这块有几个值得注意的点第一不要用中文命名脚本文件。虽然现代操作系统和IDLE都能处理中文文件名但有时候某些第三方库、路径解析模块会对中文路径犯迷糊到时候你很难定位到底是哪一步出的问题。练习阶段统一用英文字母、数字和下划线命名文件比如hello.py、demo_01.py。一句话总结给你的文件起个“英文名”比什么都省心。第二不要让文件名和Python标准库、常用第三方库同名。比如你千万别把自己的脚本命名为math.py、random.py、json.py。因为Python导入模块时会在当前目录里优先查找同名文件如果你把自己的random.py放在当前目录程序里再用import random时导入的就不是Python自带的random模块而是你这个不完整的同名文件程序会直接报错或出现奇怪的行为。第三保存路径不要有空格和中文嵌套太深的中文路径。比如D:\学习资料\python 入门\新建文件夹\hello.py这种路径虽然IDLE能保存但某些命令行工具可能会出问题。4.4 运行后Shell窗口一闪而过是为什么这个坑集中出现在“用命令行运行脚本”的场景里。比如你在终端里用python hello.py运行程序正常情况下输出hello world后命令窗口马上就关闭了你根本没看清屏幕上写了什么。这不是你的代码错了而是程序已经执行完解释器退出终端窗口也就跟着关了。解决办法有几种一种是在脚本末尾加一行input()让程序等待你输入回车再退出相当于给窗口加了一个“暂停”的缓冲动作另一种是直接在IDLE里运行Shell窗口不会自动关闭还有一种是打开终端后再切换到你脚本所在目录运行这样窗口一直在能看清输出。对初学者来说IDLE里运行是最省心的所以这也是本系列前面几篇推荐你用IDLE的原因之一。4.5 常见报错信息与应对对照表报错信息片段含义最常见原因解决思路SyntaxError: invalid syntax语法错误中英文标点混用、写错单词、括号没封闭优先检查引号和括号是否为英文半角SyntaxError: invalid character出现了非法字符输入法没切换中文标点混入代码把可疑字符删掉重打IndentationError缩进错误Tab和空格混用、缺少缩进统一用4个空格或保持IDLE默认缩进NameError: name print is not defined名称未定义函数名拼写错误或者没加括号被误当变量检查拼写和函数调用格式FileNotFoundError文件不存在运行目录不对、文件名错误确认当前目录和文件名是否一致ModuleNotFoundError模块没有找到模块没安装或者文件名冲突检查pip安装和文件命名这张表先收着你后面写代码遇到报错时不要慌先对照表格判断是哪一类问题再针对性排查。报错本身是学习过程的一部分而且大部分报错信息都已经告诉你出错在哪一行了学会读报错比背任何教程都管用。5. 从Hello World出发接下来可以顺手试的几个小改动5.1 用变量存名字再输出print(hello world)是一行固定的代码但实际写程序时你更多时候是在操作“变量”。试着在脚本窗口里改成name 小明 print(hello, name)保存后按F5运行输出结果是hello, 小明。这里name就是一个变量小明是它的值。第二行通过把两个字符串拼接成一个整体再交给print输出。这个改动虽然简单但它让你从“打印固定句子”跨越到了“打印可变内容”的阶段意义不一样。如果你再进一步可以让用户自己输入名字name input(请输入你的名字) print(你好 name)运行后Shell窗口会先显示一行提示等你输入文字并回车然后程序再输出问候语。这是交互式程序最基本的雏形比单纯输出Hello World更能让你体会到“程序在配合你做事”的感觉。5.2 试试多行输出和数字运算在同一个脚本里写多行printprint(第一行) print(第二行) print(第三行)运行后三行依次输出。这说明Python脚本就是从上到下一行行执行执行顺序跟你写代码的顺序完全一致。再把print用来当计算器print(1 2) print(3 * 4) print(10 / 2)分别输出3、12、5.0。注意最后一个是5.0因为Python 3里除法运算的结果永远是浮点数。这些基础知识一开始不用死记跑几遍自然就记住了。5.3 认识注释井号开头不执行写代码不是只给电脑看更是给人看的。为了让你自己三周后再翻开这个文件还能看懂当时写了什么你需要用注释。在Python里#号后面的内容不会被执行# 这是第一个Python程序 name 小明 # 把名字存到变量里 print(hello, name)保存后运行输出结果跟之前一样因为注释部分根本没有参与执行。养成写注释的习惯会让你的代码越来越像“作品”而不仅仅是能跑的文本。5.4 把脚本窗口里的字体调大写代码舒服很多一个小技巧在IDLE的菜单栏里点Options - Configure IDLE在弹出的设置窗口里切到Fonts/Tabs页面可以把字号调大到16号以上还可以选择你看着舒服的字体。这样长时间盯代码眼睛不累。这是IDLE能给你提供的“沉浸感”里很实在的一项别白白浪费了。我个人的体会是Hello World这个程序的价值不在于它输出的两个单词而在于它帮你完整走了一遍“打开编辑器 → 写代码 → 保存文件 → 运行脚本 → 查看结果”这一整套流程。这个流程是所有Python开发的骨架后面不管你做爬虫、写Web网站还是做数据处理本质上走的都是同一条路只是代码变复杂了、工具换成了PyCharm或VS Code底层逻辑一模一样。所以接下里你暂时不用急着学太多语法先把IDLE这个工具用顺把Shell窗口和脚本窗口之间的切换形成肌肉记忆把报错信息当成老朋友而不是拦路虎然后你会发现第4、5、6个Python程序写起来会比第一个顺畅得多。
