ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Python零基础入门:安装、环境配置与核心概念详解

Python零基础入门:安装、环境配置与核心概念详解 很多想学Python的人第一周就放弃了。不是Python难而是他们被安装环境、编辑器配置、各种报错劝退了。我见过太多人卡在“python不是内部或外部命令”卡在“python was not found”卡在装了一堆软件却不知道在哪写代码。说实话这些都算不上真正的编程问题只要有人把这些坑提前讲一遍99%的人根本不会掉进去。这篇文章就是来解决这些问题的。我把它定位成Python学习系列的第一篇只做一件事帮你把地基打牢。内容包括Python的安装、解释器到底是个什么东西、写代码前必须搞清楚的几个核心概念、还有新手最常见的报错和误区。适合完全零基础的人也适合之前学过、但一直没搞明白环境是怎么回事的人。先把“能不能跑起来”这件事解决再谈后面那些炫酷的爬虫、数据分析、人工智能。地基不牢后面全是空中楼阁。1. 先搞清楚Python是什么、怎么运行再动手安装很多教程上来就让你装软件、敲代码却不说清楚Python本身是个什么东西。结果就是你照着敲了一下午代码却完全不知道发生了什么一旦报错就彻底傻眼。1.1 解释器和代码的关系不需要理解底层但要有正确的直觉Python本质上是一门编程语言——它是给人看的规则。而真正在电脑上把代码“翻译”成机器能理解的指令、然后逐条执行的是一个叫“解释器”的程序。打个比方你写的Python代码就像一份中文菜谱解释器就是那位照着菜谱做菜的厨师。你告诉厨师“print(你好)”他做完之后把菜端出来——这个端出来的过程就是屏幕上显示的那句话。所以“安装Python”安装的最核心东西就是那个解释器。你写的每一条代码最终都会交给它来执行。搞清楚这一点你就不会犯“我下载了代码文件为什么运行不了”这种错误——因为你下载的只是菜谱你还需要一个厨师。1.2 Python 2和Python 3认准版本不要走到老路上如果你在网上搜资料可能会翻到一些十几年前的老教程里面写着Python 2的语法。直接告诉你结论学Python 3。现在无论用什么教材、什么工具安装的时候都认准Python 3.x比如3.10、3.11、3.12越新越好。Python 2在2020年已经停止维护语法上有不少差异你学了它等于白学。除非你要维护的是公司里的远古遗产项目否则完全不建议碰。1.3 一行代码是怎么跑起来的在你安装好Python之后运行代码有两种方式第一种交互式运行。你打开终端输入python回车进入一个的界面在那里面输入一行代码它立刻执行、立刻出结果。适合做小实验、试个函数用途。第二种脚本式运行。你把代码写进一个以.py结尾的文件里然后通过python 文件名.py这个命令一次性执行整个文件。这是正式写程序的方式。我特别想给新手强调一个直觉Python是逐行解释执行的不是像C那样需要先编译成整个可执行文件。所以你在交互式里敲一行的运行结果和你写进脚本里运行的结果原则上是等价的。很多初学者理解不了这两个模式的区别后面前后对不上到处怀疑是不是自己代码错了其实是运行方式的差异。2. 安装这一步为何劝退最多人python wasnt found 究竟错在哪这个热搜词排得非常靠前python was not found; run without arguments to install from the microsoft store。我可以负责任地说这是Windows用户最常碰到的报错之一。它不是在说你的代码有问题而是你的系统压根没找到名叫python的命令。2.1 Windows安装全流程别跳过关键选项在Windows上装Python我的建议是直接去官网python.org下载最新稳定版。下载的时候注意选Windows installer64-bit不要选成网页版或者源码包。安装时有一个坑90%的人都踩过安装向导第一屏底部有一个Add Python to PATH的选项默认是不勾的你必须手动勾上。很多人会问PATH是什么为什么要勾我打个比方PATH就是Windows给所有可执行程序准备的一个“通讯录”。你在命令行里输入pythonWindows就会翻这个通讯录找到python.exe在哪然后启动它。如果你没把Python加进通讯录Windows翻遍通讯录也找不到只能报“python not found”。就这么简单。安装完成后怎么验证按Win R输入cmd回车在弹出的黑窗口里输入python --version如果显示Python 3.12.x这类信息恭喜你安装成功了。如果没有先检查是不是忘了勾PATH。忘了的话卸载重装一次或者去系统环境变量里手动把Python的安装目录加进Path里路径一般是C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\和它下面的Scripts文件夹。2.2 那个著名的Microsoft Store报错是怎么来的当系统找不到python命令而你又刚好在命令行里输入了pythonWindows 10/11有一个很“贴心”的功能它会自动弹出提示问你要不要从Microsoft Store安装。这就是那句python was not found; run without arguments to install from the microsoft store的来源。它本身不是一个错误信息而是一个系统提示。但很多人想不通为什么我从官网装了Python还是会碰到这个提示大概率是两种情况安装时没勾PATH导致命令行的通讯录里查无此人系统只能走默认的Store引导或者你打开了新的命令行窗口但PATH变化还没生效——Windows的PATH在你修改后已经打开的命令行窗口是感知不到的必须新开一个窗口。解决办法就是把Python正确加入PATH然后新开一个cmd窗口再试。顺便说一句有些人图省事从Microsoft Store安装Python也不是不行但路径有时比较特殊容易在后续装第三方包的时候出幺蛾子。我更推荐官网下载装。2.3 Mac和Linux系统自带的Python要分清Mac电脑默认自带Python 2老版本系统或者没有预装新版本系统Linux大多数发行版也自带Python 3。但这不意味着你可以直接使用——系统自带的Python往往是给系统工具用的随意改装真的能把系统搞挂。Mac上装Python我的建议是装Homebrew然后brew install pythonLinux上则要看你的发行版。Ubuntu和Debian系的sudo apt update sudo apt install python3 python3-pip安装完成后在Mac和Linux上验证命令不太一样python3 --version为什么不是python因为很多系统内部脚本依赖的是老版本Python如果你把python命令绑定到新版本上可能引发连锁反应。所以Linux发行版普遍用python3来指代Python 3。你在Windows上习惯敲python到了Linux上可能要改成python3这是环境差异不是你的问题。2.4 卸载Python也有讲究热搜里有“卸载python”这个词说明不少人不小心装坏了或者装了两个版本搞乱了。我的建议是如果只是版本不合适不要急着卸载因为卸载后依赖它的其他工具可能一起出问题。你可以保留旧的再装新的用命令行指定用哪个版本执行。如果真的需要卸载去Windows的“设置”-“应用”里找到Python点击卸载即可。卸载完别忘了去环境变量里检查是否残留了旧的PATH路径否则以后命令行可能还会提示一些奇怪的东西。2.5 pip和国内源装完Python后一定会用到的基础设施装完Python之后你大概率要通过pip安装第三方库比如后面要用的requests、pandas、matplotlib。这个pip是Python官方的包管理工具装Python的时候一般会自动带上。但是——国内用户直接用官方源下载速度会慢到怀疑人生。所以装完Python后的第一件事我建议顺手把pip源换成国内镜像pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple之后装任何第三方库速度都会快很多。这个操作等同于把“下载菜谱的仓库”从国外换到了国内不影响任何功能。全世界的Python库都在里面只是下载地址变了。3. 编辑器/IDE别纠结我推荐的组合是这样我见过太多学习路线图一上来就让你装VSCode、配插件、配虚拟环境、配调试器然后配了一下午报了一堆错连第一行代码都没写。你要想清楚第一周你的任务只有一个——把基础语法练熟。工具够简单就行后面写复杂项目再升级。3.1 第一阶段一个能写字的编辑器就够了真的我见过高中学弟用Windows自带的“记事本”学完Python基础一样学得好好的。你用任何纯文本编辑器写.py文件然后在命令行里用python 文件.py运行效果是一样的。编辑器只是提供了一个写字的界面它不会改变Python本身的任何规则。所以第一阶段你只需要装一个称手的文本编辑器。Windows上用Notepad或者VS Code都行Mac上用VS Code或者Sublime Text都可以关键是能打开.py文件、能正常打字保存即可。这个阶段别折腾任何东西。3.2 VS Code配置Python最小可用即可当你要正式写代码了我推荐VS Code。它是免费开源编辑器里的王者跨平台插件生态好。配置Python环境很简单三步第一步去code.visualstudio.com下载安装VS Code。第二步打开VS Code在扩展市场里搜索“Python”安装Microsoft官方出的那个Python扩展认准发布者是Microsoft。第三步CtrlShiftP打开命令面板输入Python: Select Interpreter选择你刚才安装的Python解释器路径。如果你用的VS Code是中文界面命令也对应是中文的。选择完毕后VS Code就能弹出语法提示、运行按钮了。然后你打开一个.py文件右上角会出现一个三角形运行按钮点它就能直接运行当前文件。核心配置就这么多完事。我见过不少人在VS Code里搞了一堆插件代码格式化、代码检查、远程开发、容器开发……没那个必要。以后再装现在装多了只会让你分心。3.3 PyCharm适合什么样的人PyCharm是JetBrains公司出品的专业Python IDE功能非常强大适合写中大型项目。但它的问题也很明显重、慢、首次配置比VS Code更繁琐。对零基础学习者来说第一周就用PyCharm光是新建项目、配置解释器、设置虚拟环境这一套流程就足够让你怀疑人生了。我的结论如果你是跟着一门课程或教材学习老师明确用PyCharm演示那就跟着用PyCharm的社区版Community Edition免费版本选新的。否则一律推荐VS Code。把一个工具用熟练比同时折腾两个工具强得多。3.4 运行第一句代码Hello World的完整链路弄明白工具之后跑一个最经典的程序print(Hello, World!)怎么做新建一个文本文件命名为hello.py把这段话敲进去保存。然后在命令行里python hello.py屏幕上弹出Hello, World!的那一刻你就算真正跨进了编程的门。这个仪式感很重要不是玄学是给你一个正反馈我的环境没问题我的代码能执行后面越学越有信心。4. 写第一个程序前必须弄明白的核心概念我知道你很着急想写代码但有些基础概念如果第一遍没搞明白后面返工的成本会大得多。这节讲的不是枯燥的语法背诵而是几个你反复会用到、又特别容易懵的基石。4.1 变量就是给数据起一个名字变量这个概念听起来很抽象其实特别简单你用号把一个值赋给一个名字之后使用这个名字就相当于使用那个值。name 张三 age 18 price 3.99name、age、price就是变量它们分别记住了字符串、整数、浮点数。以后你在程序里写namePython就知道你说的是张三。为什么需要变量因为程序里很多数据不是你提前写死的而是程序跑起来后从外部读进来的。比如一个计算器程序用户输入两个数你得先把这两个数存在变量里之后才能做加法。你可以把变量理解成一个贴了标签的盒子标签就是变量名盒子里装的是数据。我之前看很多小白写代码喜欢给变量命名为a、b、c这样写起来倒是快但过两天回来看自己写的代码完全不知道每个变量是干什么用的。经验之谈变量名要能“自解释”比如user_name、total_price读起来就知道它的用途。这是编程习惯比很多技巧都重要。4.2 类型与类型转换别让“数字”和“字符”打架Python里每个值都有一个类型最常见的三种整数int比如3、-5、100。浮点数float比如3.14、0.5就是带小数点的数。字符串str用引号包裹的一段文本比如你好、hello。这里有个特别容易踩的坑3和3在Python眼里完全是两个东西。一个是数字能用来做加减乘除一个是字符串只是一个文本符号没法直接参与数学运算。我给你看一个经典报错age input(请输入你的年龄) next_year_age age 1 print(明年你, next_year_age, 岁)这段代码会报错因为input()返回的一定是字符串age是18而不是18字符串和整数相加Python不允许。正确的写法是类型转换age input(请输入你的年龄) age int(age) # 把字符串转成整数 next_year_age age 1int()函数可以把字符串转成整数str()函数可以把数字转成字符串float()可以转成浮点数。这是三个你从第一天就会频繁用到的基本函数。很多人不理解“为什么字符串和数字不能相加”因为现实里“3个苹果”和“3个苹果”能加“3个苹果”和“三个苹果”你想怎么加类型不一致操作就没意义。Python用报错来告诉你逻辑上不通。4.3 注释最好的注释是让人看懂其次是让Python忽略Python里用#号表示注释。#后面的内容Python在执行时会直接忽略。它是写给人看的不是给机器看的。# 这是注释 print(Hello) # 这里也是注释新手常有一个误区觉得注释是多余的只要代码能跑就行。但等你写了一个几百行的脚本过一周再看你会发现如果不写注释你自己都看不懂自己当时在想什么。我给学生的建议是在写每一段有业务逻辑的代码前先用一句中文注释写明你想做什么然后再写代码。这不仅是写给别人看更是帮你自己理清思路。如果你用中文输入法还有一个反复有人踩的小坑在代码里打了中文的全角引号“ ”而不是英文半角引号结果Python报语法错误。别怀疑这个报错我自己也碰过看到SyntaxError: invalid character “就要立刻反应过来引号输入法用错中英文了。4.4 input()和print()程序和人说话的方式print()是输出把程序里的内容显示到屏幕上input()是输入程序停下来等用户从键盘输入内容把用户输入的内容当成字符串返回。name input(请输入你的名字) print(你好, name)print()可以一次打印多个内容用逗号分隔输出时它们之间会有空格。如果你不想有空格可以把分隔符改掉print(你好, name, sep)我在这里给新手一个忠告学input()和print()的时候一定要亲手实际操作几遍而不只是看教程。亲手试一遍你才能体会“程序停下来等输入”是种什么感觉也才能理解为什么input()返回的一定是字符串。这个手感没有替代品。4.5 缩进Python的灵魂藏在代码开头Python有一个和C、Java都不一样的地方它用缩进来表示代码块的层级。别的语言用花括号{}来分块Python用行首的空格或Tab。if age 18: print(你已成年) print(可以考驾照了) print(这句话不受if控制)第2、3行前面有4个空格表示它们属于if条件成立的代码块第4行没有缩进表示它跟if无关无论什么情况都会执行。缩进不对Python直接报IndentationError。这个报错对新手极其不友好因为看起来一模一样的两行代码一个多个空格一个少个空格结果一个能跑一个不能跑。我在练习环境里见过无数人问为什么我一模一样的代码就是报unexpected indent答案往往就是某一行前面多了或少了空格。我自己的习惯是统一用4个空格做缩进绝不混用Tab和空格。现在大部分编辑器都会自动把Tab转成4个空格但你还是要注意——混用Tab和空格是Python新手最隐蔽的报错来源。4.6 基础语法工具箱你不需要背但要有印象学习的第一阶段铺垫几个高频关键字不是让你背而是让你之后看到不慌if/elif/else条件判断让程序根据不同情况走不同分支。for/while循环让代码重复执行。def定义一个函数把一段可复用的逻辑封装起来。import引入一个模块借用别人写好的功能库。这些概念在后续第2篇、第3篇里面我会专门讲细。现在你只需要知道它们的存在。5. 从“能跑起来”到“不出错”新手高频报错逐个拆学了语法、能写程序之后接踵而来的就是报错。报错不是洪水猛兽它其实是Python在告诉你“你这段代码哪里没想清楚”。我整理了新手最常见的几类报错提前给你打个预防针。5.1 常见报错清单和它们的真实含义报错真实含义最常见场景SyntaxError语法错误代码不符合格式少了冒号、括号没配对、中英文标点混用IndentationError缩进错误某行该缩进没缩进或者不该缩进多缩进NameError: name x is not defined变量x没定义变量名拼写错误或者忘了赋值就直接使用TypeError类型错误数据类型不匹配字符串和数字相加、函数传参类型不对ModuleNotFoundError模块没有找到忘用pip安装对应的库FileNotFoundError文件没找到程序里写的文件路径不对看报错有个技巧先看最后一行再看往上数的前几行。最后一行是结论上面的代码片段是线索。很多新手一看到红字就慌直接把整个报错截图丢给搜索引擎但其实从最后一行就能看出问题。5.2 遇到报错该怎么查别死磕也别乱搜新手遇到报错最常见的两种极端一种是自己死磕一小时一种是把报错整段复制到搜索引擎乱搜。这两种效率都很低。正确姿势把报错信息里的最后一行的错误类型和它指向的具体行号提取出来再加上自己的代码摘要去搜索。比如NameError: name x is not defined你不用连代码一起搜直接搜这个错误类型基本都能找到答案。还有一个很实用的检查顺序代码执行前先自查长这样三件事——1是不是少了结尾冒号2是不是用了中英文标点混合3是不是变量名拼写不一致。这三件事能解决新手80%的报错。5.3 命令行和文件路径常识越早懂越好后期跑代码你需要和命令行打交道一定会碰到“文件路径”的问题。我在这里先提一个重要概念当前工作目录。你在命令行里执行python hello.py时Python默认会在你目前所处的目录下找hello.py。如果你不在hello.py所在的目录就会得到FileNotFoundError。新手经常因为这个懵明明双击文件能打开在命令行里却说找不到。因为命令行的工作目录和你主观上以为的路径不一致。应对办法有两个用cd命令切换到代码所在目录Windows用cd /d E:\project这种写法Mac/Linux用cd ~/project在代码里写绝对路径或者用os.chdir()切换工作目录。这个话题后面讲到文件操作时会再展开现在你心里有个印象就好。5.4 英文报错别怕把错误消息当成Python在跟你说话最后想分享一个心态。很多新手一看到英文报错就头皮发麻觉得是自己英语不好导致学不会编程。其实编程跑不通的根源绝大多数不是英语水平而是逻辑没理顺。报错信息里的单词也就那么几十个高频的unexpected意外的、invalid无效的、expected期望的、cannot不能、undefined未定义。看几次就熟了。而且Python的报错已经算是编程语言里最友好、最详细的了。它会告诉你具体哪一行出错、甚至用箭头指出来问题在哪。你把报错当成Python在说人话慢慢就习惯了。6. 学完这一篇接下来怎么走Python学习的路径是递进的第一篇我们解决的是“环境 最基本的运行机制 几个核心概念”。你学完这一篇应该能够做到独立安装Python、用VS Code编辑并运行一个.py文件、理解变量类型和输入输出的基本用法。这些是最底层的骨架后面所有内容都建立在这之上。接下来的一条清晰路线第二篇条件判断、循环、列表和字典这时候你就有了“表达逻辑”的能力。第三篇函数和模块开始把大问题拆成小函数。第四篇文件读写和异常处理程序开始变得实用比如批量处理文本、生成报告。第五篇第三方库入门用requests爬网页、用pandas处理表格、用matplotlib画图。热搜词里那些“python画图横坐标太密集”“层次聚类python”背后依赖的恰恰是这些基础能力。再往后才是爬虫、数据分析、Web开发、AI这些具体方向。关于学习资源我想多说几句。网上的免费教程非常多比如各类Python入门视频、教程网站、官方文档。但资源多不等于你能学好关键是少而精地学、多做练习。我建议你跟住一条主线教材或一套视频尽量学完不要今天看A老师的、明天看B老师的学的全是开头三章。练习也很重要。每学完一个知识点立刻找个场景用上。比如今天学了变量和输入输出你就写一个“BMI计算器”让用户输入身高、体重程序算出BMI并输出结果。别嫌简单这个小小的程序能一次练到输入、类型转换、输出、变量名命名。等你能熟练完成它再进入下一章底子绝对比那些狂刷视频的人扎实得多。还有一点遇到报错、遇到卡住别第一反应就放弃。先自己看报错提示搜索一下实在不行就休息几分钟再回来看。编程里有一个“卡住-突破”的正常节奏每个人都会经历区别只是有人习惯了这种节奏有人被它吓退了。最后给你一个小提醒这篇我讲的很多坑都是我当年一条一条踩过来的。比如全角引号、忘勾PATH、缩进混用Tab和空格每一个都让当时的我抓狂。但回头看这些恰是每个自学Python的人都要过的坎。你在第一次碰到的时候记得“原来不只我这样”然后再耐心把它解决了你就真正前进了一步。下一篇文章我们开始正式进入Python的语法世界变量、类型、条件判断、循环。等我把这套地基打完你会发现后面学什么都快。到时候咱们再接着往下走。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进