[{"data":1,"prerenderedAt":2008},["ShallowReactive",2],{"tag-编程入门":3,"sidebar-posts":1184},[4,375],{"id":5,"title":6,"body":7,"category":361,"cover":17,"description":38,"extension":362,"meta":363,"navigation":61,"path":364,"pinned":365,"publishedAt":366,"seo":367,"slug":368,"stem":369,"summary":370,"tags":371,"updatedAt":366,"visible":61,"__hash__":374},"posts\u002Fposts\u002F20260815\u002Fpython-introduction.md","Python介绍",{"type":8,"value":9,"toc":346},"minimark",[10,18,21,24,29,32,69,72,80,83,86,122,132,136,143,146,171,174,191,194,198,202,205,208,211,214,217,220,244,247,250,257,260,263,266,270,276,279,307,310,314,317,320,324,327,330,333,336,339,342],[11,12,13],"p",{},[14,15],"img",{"alt":16,"src":17},"Python 编程语言介绍","\u002Fimages\u002Fcovers\u002Fpython-introduction.png",[11,19,20],{},"如果只用一句话介绍 Python，可以这样说：它是一门语法简洁、应用范围广，而且比较容易上手的编程语言。",[11,22,23],{},"Python 不要求开发者一开始就处理复杂的底层细节。编写代码时，我们通常更关注“程序需要完成什么”，例如整理文件、处理数据或者调用接口，而不必过早考虑内存分配和机器指令。这种设计降低了入门难度，也提高了开发效率。",[25,26,28],"h2",{"id":27},"python-代码是什么样的","Python 代码是什么样的",[11,30,31],{},"下面是一段简单的 Python 代码：",[33,34,39],"pre",{"className":35,"code":36,"language":37,"meta":38,"style":38},"language-python shiki shiki-themes github-dark","name = \"Python\"\nyear = 2026\n\nprint(f\"正在学习 {name}，当前年份是 {year}\")\n","python","",[40,41,42,50,56,63],"code",{"__ignoreMap":38},[43,44,47],"span",{"class":45,"line":46},"line",1,[43,48,49],{},"name = \"Python\"\n",[43,51,53],{"class":45,"line":52},2,[43,54,55],{},"year = 2026\n",[43,57,59],{"class":45,"line":58},3,[43,60,62],{"emptyLinePlaceholder":61},true,"\n",[43,64,66],{"class":45,"line":65},4,[43,67,68],{},"print(f\"正在学习 {name}，当前年份是 {year}\")\n",[11,70,71],{},"运行结果：",[33,73,78],{"className":74,"code":76,"language":77,"meta":38},[75],"language-text","正在学习 Python，当前年份是 2026\n","text",[40,79,76],{"__ignoreMap":38},[11,81,82],{},"从这段代码可以看到，Python 不需要在每条语句结尾添加分号，也不需要提前声明变量类型。它使用换行和缩进组织代码，整体结构比较清楚。",[11,84,85],{},"缩进在 Python 中不仅用于排版，也是语法的一部分。例如：",[33,87,89],{"className":35,"code":88,"language":37,"meta":38,"style":38},"score = 85\n\nif score >= 60:\n    print(\"成绩合格\")\nelse:\n    print(\"需要继续学习\")\n",[40,90,91,96,100,105,110,116],{"__ignoreMap":38},[43,92,93],{"class":45,"line":46},[43,94,95],{},"score = 85\n",[43,97,98],{"class":45,"line":52},[43,99,62],{"emptyLinePlaceholder":61},[43,101,102],{"class":45,"line":58},[43,103,104],{},"if score >= 60:\n",[43,106,107],{"class":45,"line":65},[43,108,109],{},"    print(\"成绩合格\")\n",[43,111,113],{"class":45,"line":112},5,[43,114,115],{},"else:\n",[43,117,119],{"class":45,"line":118},6,[43,120,121],{},"    print(\"需要继续学习\")\n",[11,123,124,127,128,131],{},[40,125,126],{},"if"," 和 ",[40,129,130],{},"else"," 下面的代码必须保持正确缩进，否则程序可能无法运行。",[25,133,135],{"id":134},"python-如何运行代码","Python 如何运行代码",[11,137,138,139,142],{},"Python 通常被称为解释型语言。安装 Python 解释器后，可以直接在终端中运行 ",[40,140,141],{},".py"," 文件，也可以进入交互式环境逐行执行代码。",[11,144,145],{},"交互式环境适合快速验证一个表达式：",[33,147,149],{"className":35,"code":148,"language":37,"meta":38,"style":38},">>> 10 + 20\n30\n>>> \"Python\".lower()\n'python'\n",[40,150,151,156,161,166],{"__ignoreMap":38},[43,152,153],{"class":45,"line":46},[43,154,155],{},">>> 10 + 20\n",[43,157,158],{"class":45,"line":52},[43,159,160],{},"30\n",[43,162,163],{"class":45,"line":58},[43,164,165],{},">>> \"Python\".lower()\n",[43,167,168],{"class":45,"line":65},[43,169,170],{},"'python'\n",[11,172,173],{},"需要保存和重复运行的程序，则可以写入文件：",[33,175,179],{"className":176,"code":177,"language":178,"meta":38,"style":38},"language-bash shiki shiki-themes github-dark","python3 hello.py\n","bash",[40,180,181],{"__ignoreMap":38},[43,182,183,187],{"class":45,"line":46},[43,184,186],{"class":185},"svObZ","python3",[43,188,190],{"class":189},"sU2Wk"," hello.py\n",[11,192,193],{},"以常见的 CPython 解释器为例，源代码在运行过程中会先转换为字节码，再由 Python 虚拟机执行。这个过程通常由解释器自动完成，开发者不需要手动编译。",[25,195,197],{"id":196},"python-的特点","Python 的特点",[199,200,201],"h3",{"id":201},"语法相对简洁",[11,203,204],{},"Python 使用较少的代码就能完成许多常见任务。它的关键字和代码结构比较直观，阅读一段规范编写的 Python 程序时，通常能够较快判断程序正在做什么。",[199,206,207],{"id":207},"支持多种编程方式",[11,209,210],{},"Python 支持面向过程、面向对象和函数式编程。小型脚本可以直接按照执行顺序编写，项目规模扩大后，也可以使用函数、类和模块拆分代码。",[199,212,213],{"id":213},"标准库比较完整",[11,215,216],{},"Python 自带一批常用模块，可以处理文件、路径、日期时间、JSON 数据、日志、压缩文件和网络通信等任务。",[11,218,219],{},"例如，获取当前时间：",[33,221,223],{"className":35,"code":222,"language":37,"meta":38,"style":38},"from datetime import datetime\n\nnow = datetime.now()\nprint(now)\n",[40,224,225,230,234,239],{"__ignoreMap":38},[43,226,227],{"class":45,"line":46},[43,228,229],{},"from datetime import datetime\n",[43,231,232],{"class":45,"line":52},[43,233,62],{"emptyLinePlaceholder":61},[43,235,236],{"class":45,"line":58},[43,237,238],{},"now = datetime.now()\n",[43,240,241],{"class":45,"line":65},[43,242,243],{},"print(now)\n",[11,245,246],{},"这段代码使用的是标准库，不需要另外安装第三方依赖。",[199,248,249],{"id":249},"第三方工具丰富",[11,251,252,253,256],{},"除了标准库，Python 还拥有数量庞大的第三方软件包。开发者可以通过 ",[40,254,255],{},"pip"," 安装所需工具，用于 Web 开发、数据分析、自动化测试、网络爬虫和人工智能等场景。",[11,258,259],{},"第三方包为开发带来了便利，但也需要管理好版本和项目环境。实际开发时，通常会为每个项目创建独立的虚拟环境，避免依赖互相影响。",[199,261,262],{"id":262},"支持多个操作系统",[11,264,265],{},"Python 可以运行在 macOS、Linux、Windows 等主流操作系统上。大部分不依赖系统特性的代码可以跨平台使用，但涉及文件路径、系统命令和底层组件时，仍然需要根据运行环境进行调整。",[25,267,269],{"id":268},"python-可以做什么","Python 可以做什么",[11,271,272],{},[14,273],{"alt":274,"src":275},"Python 的常见应用方向","\u002Fimages\u002Fposts\u002F20260815\u002Fpython-application-fields.png",[11,277,278],{},"Python 的应用范围比较广，常见方向包括：",[280,281,282,286,289,292,295,298,301,304],"ul",{},[283,284,285],"li",{},"编写自动化脚本，批量处理文件和重复任务；",[283,287,288],{},"开发网站后端和 API 服务；",[283,290,291],{},"进行数据清洗、统计分析和图表展示；",[283,293,294],{},"编写网络爬虫和信息采集工具；",[283,296,297],{},"开发自动化测试程序；",[283,299,300],{},"进行机器学习和人工智能开发；",[283,302,303],{},"编写运维、监控和辅助开发工具；",[283,305,306],{},"开发部分桌面应用和插件。",[11,308,309],{},"Python 是这些开发方向的基础语言，具体项目通常还需要配合相应的框架或第三方库。例如，Web 开发可以使用 Django、Flask 或 FastAPI，数据处理可以使用 NumPy 和 pandas，机器学习领域则经常使用 PyTorch、TensorFlow 或 scikit-learn。",[25,311,313],{"id":312},"python-的发展","Python 的发展",[11,315,316],{},"Python 由 Guido van Rossum 创建，最初的开发工作开始于 20 世纪 80 年代末。",[11,318,319],{},"Python 2.0 于 2000 年发布，Python 3.0 于 2008 年发布。Python 3 对语言进行了较大调整，并不完全兼容 Python 2。Python 2 已经结束官方支持，因此现在学习和开发新项目时，应当直接使用 Python 3。",[25,321,323],{"id":322},"python-也有局限","Python 也有局限",[11,325,326],{},"Python 的优势主要是代码清晰、开发效率较高和工具生态丰富，但它并不适合所有任务。",[11,328,329],{},"在大量计算或对运行速度要求很高的场景中，纯 Python 代码的执行速度可能不如 C、C++ 等编译型语言。移动端原生应用、浏览器前端和部分底层系统开发，也不是 Python 最常见的使用方向。",[11,331,332],{},"实际项目中，经常会根据任务特点组合多种语言。Python 负责业务逻辑、数据处理或工具开发，对性能要求较高的部分则可以交给 C、C++ 或其他技术实现。",[25,334,335],{"id":335},"写在最后",[11,337,338],{},"Python 容易让初学者快速写出能够运行的程序，同时又具备支撑实际项目的能力。它的价值不只是“语法简单”，还在于标准库完善、第三方生态成熟，并且能够覆盖自动化、Web、数据处理和人工智能等多个方向。",[11,340,341],{},"学习 Python 时，可以先掌握变量、数据类型、条件判断、循环和函数，再通过一个具体项目逐步熟悉模块、异常处理和第三方依赖。这样比只记语法更容易形成完整的编程思路。",[343,344,345],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}",{"title":38,"searchDepth":52,"depth":52,"links":347},[348,349,350,357,358,359,360],{"id":27,"depth":52,"text":28},{"id":134,"depth":52,"text":135},{"id":196,"depth":52,"text":197,"children":351},[352,353,354,355,356],{"id":201,"depth":58,"text":201},{"id":207,"depth":58,"text":207},{"id":213,"depth":58,"text":213},{"id":249,"depth":58,"text":249},{"id":262,"depth":58,"text":262},{"id":268,"depth":52,"text":269},{"id":312,"depth":52,"text":313},{"id":322,"depth":52,"text":323},{"id":335,"depth":52,"text":335},"Python","md",{},"\u002Fposts\u002F20260815\u002Fpython-introduction",false,"2026-08-15",{"title":6,"description":38},"python-introduction","posts\u002F20260815\u002Fpython-introduction","面向刚接触编程的读者，介绍 Python 的代码特点、运行方式、常见应用和适用边界，帮助读者建立对这门语言的整体认识。",[361,372,373],"编程入门","基础知识","sjjvBSs4Qg-yZ-1qzJPL1IJuWOpkr4Ge-UgGW3ogvXE",{"id":376,"title":377,"body":378,"category":361,"cover":1172,"description":38,"extension":362,"meta":1173,"navigation":61,"path":1174,"pinned":365,"publishedAt":1175,"seo":1176,"slug":1177,"stem":1178,"summary":1179,"tags":1180,"updatedAt":1175,"visible":61,"__hash__":1183},"posts\u002Fposts\u002F20260717\u002Fpython-environment-installation.md","Python 环境安装",{"type":8,"value":379,"toc":1148},[380,383,386,389,395,398,401,440,456,460,464,475,480,486,504,510,515,521,525,571,574,580,586,589,620,665,682,696,706,710,721,734,737,743,748,751,768,778,799,803,807,810,821,828,832,847,854,858,861,882,888,892,895,899,902,922,925,929,932,966,969,988,991,1012,1017,1021,1024,1044,1047,1050,1054,1061,1076,1079,1083,1086,1096,1107,1111,1114,1129,1145],[25,381,382],{"id":382},"引言",[11,384,385],{},"这一节面向 Python 初学者，介绍在 Windows、macOS、Linux 三个平台上安装 Python 解释器的方法。",[11,387,388],{},"学习 Python 的第一步，就是先准备好一个能运行代码的环境。在这之前，你写的任何代码都没办法跑起来，所以这一步非常关键。",[11,390,391,392,394],{},"安装完成后，我们会打开终端，输入一条命令验证 Python 是否安装成功，同时确认 ",[40,393,255],{}," 这个包管理工具也能正常使用——后续安装各种库，都要靠它来完成。",[25,396,397],{"id":397},"扫盲",[11,399,400],{},"那么这里有几个概念：",[402,403,404,407],"blockquote",{},[11,405,406],{},"为什么需要安装python解释器？",[402,408,409,420,423,431,434],{},[11,410,411,412,415,416,419],{},"我们写的代码，电脑其实看不懂，电脑只认识",[40,413,414],{},"0","和",[40,417,418],{},"1","组成的机器指令。",[11,421,422],{},"那么python解释器的作用就是充当中间的翻译官，当我们在电脑上运行python代码，python解释器充当翻译官，当我们执行脚本，翻译官就会将python代码翻译成机器的0和1。",[11,424,425,426,430],{},"这样，我们就能用",[427,428,429],"strong",{},"人类能读懂的语言","来写代码，再由 Python 这个翻译官，把它翻译成机器能听懂的指令去执行——我们和计算机之间的\"语言障碍\"，就这么被解决了。",[11,432,433],{},"相当于我们的电脑要打开表格，需要安装excel。",[11,435,436],{},[14,437],{"alt":438,"src":439},"图1","https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717161622-%E5%9B%BE1.png",[402,441,442,445],{},[11,443,444],{},"pip又是什么？",[402,446,447,450],{},[11,448,449],{},"pip相当于插件市场，python除了我们自己写代码，还可以下载别人的代码库，来直接调用别人写好的优秀的方法。比如安装了requests库，未来我们就可以用程序模拟浏览器去访问网页。",[11,451,452],{},[14,453],{"alt":454,"src":455},"图2","https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717172846-%E5%9B%BE2.png",[25,457,459],{"id":458},"windows-安装","Windows 安装",[199,461,463],{"id":462},"_1-下载官方安装程序","1. 下载官方安装程序",[11,465,466,467,474],{},"打开 ",[468,469,473],"a",{"href":470,"rel":471},"https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Fwindows\u002F",[472],"nofollow","Python Windows 下载页","，选择当前稳定版对应的 Windows installer：",[402,476,477],{},[11,478,479],{},"本次以 Python 3 稳定版下载流程为准。Python 官网会持续更新补丁版本，安装时选择下载页当前提供的最新 Python 3 稳定版即可",[11,481,482],{},[14,483],{"alt":484,"src":485},"Python Windows 下载页面","https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717123049-image.png",[280,487,488,495,501],{},[283,489,490,491,494],{},"大多数 Intel 或 AMD 处理器的电脑选择 ",[427,492,493],{},"Windows installer (64-bit)","。",[283,496,497,498,494],{},"搭载 ARM 处理器的 Windows 设备选择 ",[427,499,500],{},"Windows installer (ARM64)",[283,502,503],{},"只有明确使用 32 位 Windows 时才选择 32 位安装程序。",[11,505,506],{},[14,507],{"alt":508,"src":509},"Windows 安装程序类型","https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717120221-image.png",[402,511,512],{},[11,513,514],{},"我的电脑是 64 位，所以下载 Windows installer (64-bit)。",[11,516,517],{},[14,518],{"alt":519,"src":520},"Windows 64 位安装程序下载入口","https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717120550-image.png",[199,522,524],{"id":523},"_2-安装并加入-path","2. 安装并加入 PATH",[402,526,527,532,539,564],{},[402,528,529],{},[11,530,531],{},"PATH 环境变量",[11,533,534,535,538],{},"Windows 有一个特殊的变量叫 ",[427,536,537],{},"PATH","，它里面存了一串文件夹路径，比如：",[33,540,542],{"className":35,"code":541,"language":37,"meta":38,"style":38},"D:\\Python313\\\nD:\\Python313\\Scripts\\\nC:\\Windows\\System32\\\n...\n",[40,543,544,549,554,559],{"__ignoreMap":38},[43,545,546],{"class":45,"line":46},[43,547,548],{},"D:\\Python313\\\n",[43,550,551],{"class":45,"line":52},[43,552,553],{},"D:\\Python313\\Scripts\\\n",[43,555,556],{"class":45,"line":58},[43,557,558],{},"C:\\Windows\\System32\\\n",[43,560,561],{"class":45,"line":65},[43,562,563],{},"...\n",[11,565,566,567,570],{},"我们每次在终端输一个命令，Windows 就拿着这个名字，",[427,568,569],{},"挨个去 PATH 里的文件夹翻","，找到了就执行，找不到就报错。",[11,572,573],{},"双击下载的安装程序。在安装界面中，勾选 底部两个选项，然后选择自定义安装。",[11,575,576,577,579],{},"PATH 是系统查找可执行程序时使用的一组目录。勾选后，Windows 才能在新的终端窗口中直接找到 ",[40,578,37],{}," 命令。不同 Python 安装器的界面文字可能略有差异，但目标都是让 Python 命令进入 PATH。",[11,581,582],{},[14,583],{"alt":584,"src":585},"未命名","https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717154915-%E6%9C%AA%E5%91%BD%E5%90%8D.png",[11,587,588],{},"对安装界面最底部的两个勾选项分别解释 :",[402,590,591,594,599],{},[11,592,593],{},"Add python.exe to PATH",[11,595,596],{},[427,597,598],{},"把 Python 添加到系统环境变量",[402,600,601,607,613],{},[11,602,603,604,606],{},"勾选后，你可以在命令行任意位置直接输入 ",[40,605,37],{}," 就能运行",[11,608,609,610,612],{},"不勾选的话，命令行输入 ",[40,611,37],{}," 会提示**\"找不到命令\"**，非常麻烦",[11,614,615,616,619],{},"必须",[427,617,618],{},"勾选","，这是最重要的一个选项，新手最容易忘记打勾",[402,621,622,625,630],{},[11,623,624],{},"Use admin privileges when installing py.exe",[11,626,627],{},[427,628,629],{},"使用管理员权限安装 py.exe（Python 启动器）",[402,631,632,642,656,659],{},[11,633,634,637,638,641],{},[40,635,636],{},"py.exe"," 是 Windows 专属的 Python 启动器，可以让你在命令行输入 ",[40,639,640],{},"py"," 来启动 Python。",[11,643,644,645,647,648,651,652,655],{},"勾选后，",[40,646,636],{}," 会安装到",[427,649,650],{},"系统级目录","，电脑上",[427,653,654],{},"所有用户账户","都能用",[11,657,658],{},"不勾选，只有当前用户能用",[11,660,661,664],{},[427,662,663],{},"建议勾选","，权限更完整，避免后续出现奇怪的权限问题",[402,666,667,670],{},[11,668,669],{},"操作建议",[402,671,672,679],{},[11,673,674,675,678],{},"两个都勾上之后，再点 ",[427,676,677],{},"\"Customize installation\""," 去修改安装路径到 D 盘，不要直接点 \"Install Now\"，否则会装到 C 盘。",[11,680,681],{},"系统文件归 C 盘，自己装的软件和项目归 D 盘，分类清晰，以后管理方便。",[402,683,684,690],{},[11,685,686,687],{},"Python 安装的",[427,688,689],{},"可选功能页",[11,691,692],{},[14,693],{"alt":694,"src":695},"image","https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717161424-image.png",[402,697,698,701],{},[11,699,700],{},"高级选项页",[11,702,703],{},[14,704],{"alt":694,"src":705},"https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717161340-image.png",[199,707,709],{"id":708},"_3-检查-windows-环境","3. 检查 Windows 环境",[11,711,712,713,716,717,720],{},"按 ",[40,714,715],{},"Win + R","，输入 ",[40,718,719],{},"cmd"," 并回车，然后执行：",[33,722,724],{"className":176,"code":723,"language":178,"meta":38,"style":38},"python --version\n",[40,725,726],{"__ignoreMap":38},[43,727,728,730],{"class":45,"line":46},[43,729,37],{"class":185},[43,731,733],{"class":732},"sDLfK"," --version\n",[11,735,736],{},"正常情况下会看到类似下面的输出，具体补丁版本以实际安装结果为准：",[33,738,741],{"className":739,"code":740,"language":77,"meta":38},[75],"Python 3.x.x\n",[40,742,740],{"__ignoreMap":38},[11,744,745],{},[14,746],{"alt":694,"src":747},"https:\u002F\u002Fzhengzaihun-utools-test1.tos-cn-beijing.volces.com\u002F20260717\u002F20260717155647-image.png",[11,749,750],{},"继续检查 pip：",[33,752,754],{"className":176,"code":753,"language":178,"meta":38,"style":38},"python -m pip --version\n",[40,755,756],{"__ignoreMap":38},[43,757,758,760,763,766],{"class":45,"line":46},[43,759,37],{"class":185},[43,761,762],{"class":732}," -m",[43,764,765],{"class":189}," pip",[43,767,733],{"class":732},[11,769,770,771,773,774,777],{},"如果 ",[40,772,37],{}," 无法识别，但 ",[40,775,776],{},"py --version"," 可以输出版本号，后续也可以使用 Windows Python Launcher：",[33,779,781],{"className":176,"code":780,"language":178,"meta":38,"style":38},"py --version\npy -m pip --version\n",[40,782,783,789],{"__ignoreMap":38},[43,784,785,787],{"class":45,"line":46},[43,786,640],{"class":185},[43,788,733],{"class":732},[43,790,791,793,795,797],{"class":45,"line":52},[43,792,640],{"class":185},[43,794,762],{"class":732},[43,796,765],{"class":189},[43,798,733],{"class":732},[25,800,802],{"id":801},"macos-安装","macOS 安装",[199,804,806],{"id":805},"_1-先检查现有环境","1. 先检查现有环境",[11,808,809],{},"打开“终端”应用，执行：",[33,811,813],{"className":176,"code":812,"language":178,"meta":38,"style":38},"python3 --version\n",[40,814,815],{"__ignoreMap":38},[43,816,817,819],{"class":45,"line":46},[43,818,186],{"class":185},[43,820,733],{"class":732},[11,822,823,824,827],{},"如果已经输出符合学习要求的 Python 3 版本，可以继续执行 ",[40,825,826],{},"python3 -m pip --version","。两条命令都正常时，无需重复安装。",[199,829,831],{"id":830},"_2-下载-macos-官方安装包","2. 下载 macOS 官方安装包",[11,833,466,834,839,840,494,843,846],{},[468,835,838],{"href":836,"rel":837},"https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Fmacos\u002F",[472],"Python macOS 下载页","，下载当前稳定版的 ",[427,841,842],{},"macOS 64-bit universal2 installer",[40,844,845],{},"universal2"," 安装包同时支持 Apple 芯片和 Intel 芯片 Mac。",[11,848,849,850,853],{},"下载完成后打开 ",[40,851,852],{},".pkg"," 文件，按照安装器提示完成安装。使用官网安装包时，系统可能要求输入当前 macOS 用户的登录密码，用于授权写入系统级安装目录。",[199,855,857],{"id":856},"_3-检查-macos-环境","3. 检查 macOS 环境",[11,859,860],{},"安装完成后重新打开终端，执行：",[33,862,864],{"className":176,"code":863,"language":178,"meta":38,"style":38},"python3 --version\npython3 -m pip --version\n",[40,865,866,872],{"__ignoreMap":38},[43,867,868,870],{"class":45,"line":46},[43,869,186],{"class":185},[43,871,733],{"class":732},[43,873,874,876,878,880],{"class":45,"line":52},[43,875,186],{"class":185},[43,877,762],{"class":732},[43,879,765],{"class":189},[43,881,733],{"class":732},[11,883,884,885,887],{},"正常情况下，两条命令都会显示版本信息。macOS 中建议始终使用 ",[40,886,186],{},"，不要为了缩短命令而修改或覆盖系统自带工具。",[25,889,891],{"id":890},"linux-安装","Linux 安装",[11,893,894],{},"Linux 发行版通常通过系统包管理器维护 Python。仓库中的版本可能落后于 Python 官网的最新补丁版，但会与当前系统的软件依赖和安全更新保持一致。对于本系列的入门代码，优先使用发行版仓库版本，安装和维护都更稳妥。",[199,896,898],{"id":897},"_1-检查是否已经安装","1. 检查是否已经安装",[11,900,901],{},"打开终端，执行：",[33,903,904],{"className":176,"code":863,"language":178,"meta":38,"style":38},[40,905,906,912],{"__ignoreMap":38},[43,907,908,910],{"class":45,"line":46},[43,909,186],{"class":185},[43,911,733],{"class":732},[43,913,914,916,918,920],{"class":45,"line":52},[43,915,186],{"class":185},[43,917,762],{"class":732},[43,919,765],{"class":189},[43,921,733],{"class":732},[11,923,924],{},"不少 Linux 系统已经包含 Python 3。如果第一条命令有输出、第二条命令提示没有 pip，只安装 pip 和虚拟环境支持即可。",[199,926,928],{"id":927},"_2-使用发行版包管理器安装","2. 使用发行版包管理器安装",[11,930,931],{},"Ubuntu 或 Debian：",[33,933,935],{"className":176,"code":934,"language":178,"meta":38,"style":38},"sudo apt update\nsudo apt install python3 python3-pip python3-venv\n",[40,936,937,948],{"__ignoreMap":38},[43,938,939,942,945],{"class":45,"line":46},[43,940,941],{"class":185},"sudo",[43,943,944],{"class":189}," apt",[43,946,947],{"class":189}," update\n",[43,949,950,952,954,957,960,963],{"class":45,"line":52},[43,951,941],{"class":185},[43,953,944],{"class":189},[43,955,956],{"class":189}," install",[43,958,959],{"class":189}," python3",[43,961,962],{"class":189}," python3-pip",[43,964,965],{"class":189}," python3-venv\n",[11,967,968],{},"Fedora：",[33,970,972],{"className":176,"code":971,"language":178,"meta":38,"style":38},"sudo dnf install python3 python3-pip\n",[40,973,974],{"__ignoreMap":38},[43,975,976,978,981,983,985],{"class":45,"line":46},[43,977,941],{"class":185},[43,979,980],{"class":189}," dnf",[43,982,956],{"class":189},[43,984,959],{"class":189},[43,986,987],{"class":189}," python3-pip\n",[11,989,990],{},"Arch Linux：",[33,992,994],{"className":176,"code":993,"language":178,"meta":38,"style":38},"sudo pacman -S python python-pip\n",[40,995,996],{"__ignoreMap":38},[43,997,998,1000,1003,1006,1009],{"class":45,"line":46},[43,999,941],{"class":185},[43,1001,1002],{"class":189}," pacman",[43,1004,1005],{"class":732}," -S",[43,1007,1008],{"class":189}," python",[43,1010,1011],{"class":189}," python-pip\n",[11,1013,1014,1016],{},[40,1015,941],{}," 会要求输入当前 Linux 用户的密码。执行前应确认该用户具备管理员权限，不要从来历不明的网页复制带有删除或覆盖操作的命令。",[199,1018,1020],{"id":1019},"_3-检查-linux-环境","3. 检查 Linux 环境",[11,1022,1023],{},"安装结束后执行：",[33,1025,1026],{"className":176,"code":863,"language":178,"meta":38,"style":38},[40,1027,1028,1034],{"__ignoreMap":38},[43,1029,1030,1032],{"class":45,"line":46},[43,1031,186],{"class":185},[43,1033,733],{"class":732},[43,1035,1036,1038,1040,1042],{"class":45,"line":52},[43,1037,186],{"class":185},[43,1039,762],{"class":732},[43,1041,765],{"class":189},[43,1043,733],{"class":732},[11,1045,1046],{},"看到 Python 3 和 pip 的版本信息，说明基础环境已经可用。",[25,1048,1049],{"id":1049},"常见问题",[199,1051,1053],{"id":1052},"windows-提示python-不是内部或外部命令","Windows 提示“python 不是内部或外部命令”",[11,1055,1056,1057,1060],{},"先关闭当前命令提示符并重新打开，再执行 ",[40,1058,1059],{},"python --version","。如果仍然失败，按下面的顺序检查：",[1062,1063,1064,1070,1073],"ol",{},[283,1065,1066,1067,1069],{},"执行 ",[40,1068,776],{},"，确认 Python Launcher 是否可用。",[283,1071,1072],{},"在 Windows 的“已安装的应用”中确认 Python 已经安装。",[283,1074,1075],{},"重新运行官方安装程序，选择修改安装，并启用将 Python 加入 PATH 的选项。",[11,1077,1078],{},"不要仅为解决命令问题而从非官方网站重新下载 Python。",[199,1080,1082],{"id":1081},"macos-或-linux-提示python-command-not-found","macOS 或 Linux 提示“python: command not found”",[11,1084,1085],{},"先尝试：",[33,1087,1088],{"className":176,"code":812,"language":178,"meta":38,"style":38},[40,1089,1090],{"__ignoreMap":38},[43,1091,1092,1094],{"class":45,"line":46},[43,1093,186],{"class":185},[43,1095,733],{"class":732},[11,1097,1098,1099,1101,1102,1104,1105,494],{},"在这两个系统中，只有 ",[40,1100,186],{}," 命令而没有 ",[40,1103,37],{}," 命令通常是正常情况。本系列在 macOS 和 Linux 上统一使用 ",[40,1106,186],{},[199,1108,1110],{"id":1109},"python-有版本输出但-pip-不可用","Python 有版本输出，但 pip 不可用",[11,1112,1113],{},"先使用模块方式检查：",[33,1115,1117],{"className":176,"code":1116,"language":178,"meta":38,"style":38},"python3 -m pip --version\n",[40,1118,1119],{"__ignoreMap":38},[43,1120,1121,1123,1125,1127],{"class":45,"line":46},[43,1122,186],{"class":185},[43,1124,762],{"class":732},[43,1126,765],{"class":189},[43,1128,733],{"class":732},[11,1130,1131,1132,1134,1135,1137,1138,1140,1141,1144],{},"Windows 用户将命令中的 ",[40,1133,186],{}," 换成 ",[40,1136,37],{}," 或 ",[40,1139,640],{},"。Linux 用户如果仍然提示缺少 pip，可以通过当前发行版的包管理器安装 ",[40,1142,1143],{},"python3-pip","；不要直接使用其他系统的安装命令。",[343,1146,1147],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}",{"title":38,"searchDepth":52,"depth":52,"links":1149},[1150,1151,1152,1157,1162,1167],{"id":382,"depth":52,"text":382},{"id":397,"depth":52,"text":397},{"id":458,"depth":52,"text":459,"children":1153},[1154,1155,1156],{"id":462,"depth":58,"text":463},{"id":523,"depth":58,"text":524},{"id":708,"depth":58,"text":709},{"id":801,"depth":52,"text":802,"children":1158},[1159,1160,1161],{"id":805,"depth":58,"text":806},{"id":830,"depth":58,"text":831},{"id":856,"depth":58,"text":857},{"id":890,"depth":52,"text":891,"children":1163},[1164,1165,1166],{"id":897,"depth":58,"text":898},{"id":927,"depth":58,"text":928},{"id":1019,"depth":58,"text":1020},{"id":1049,"depth":52,"text":1049,"children":1168},[1169,1170,1171],{"id":1052,"depth":58,"text":1053},{"id":1081,"depth":58,"text":1082},{"id":1109,"depth":58,"text":1110},null,{},"\u002Fposts\u002F20260717\u002Fpython-environment-installation","2026-07-17",{"title":377,"description":38},"python-environment-installation","posts\u002F20260717\u002Fpython-environment-installation","面向准备学习 Python 和爬虫的零基础读者，介绍 Windows、macOS 与常见 Linux 发行版的 Python 安装方法，并通过版本和 pip 命令检查环境是否可用。",[361,1181,1182],"环境搭建","爬虫入门","gFnbpd4908BhfR4OwdWwLB7SXKVWKNip9fxO4g8KaIg",[1185,1768],{"id":376,"title":377,"body":1186,"category":361,"cover":1172,"description":38,"extension":362,"meta":1765,"navigation":61,"path":1174,"pinned":365,"publishedAt":1175,"seo":1766,"slug":1177,"stem":1178,"summary":1179,"tags":1767,"updatedAt":1175,"visible":61,"__hash__":1183},{"type":8,"value":1187,"toc":1741},[1188,1190,1192,1194,1198,1200,1202,1226,1238,1240,1242,1247,1251,1255,1267,1271,1275,1279,1281,1315,1317,1321,1325,1327,1349,1379,1391,1401,1409,1411,1417,1427,1429,1434,1438,1440,1454,1460,1480,1482,1484,1486,1496,1500,1502,1511,1515,1517,1519,1539,1543,1545,1547,1549,1551,1571,1573,1575,1577,1603,1605,1621,1623,1639,1643,1645,1647,1667,1669,1671,1673,1677,1687,1689,1691,1693,1703,1711,1713,1715,1729,1739],[25,1189,382],{"id":382},[11,1191,385],{},[11,1193,388],{},[11,1195,391,1196,394],{},[40,1197,255],{},[25,1199,397],{"id":397},[11,1201,400],{},[402,1203,1204,1206],{},[11,1205,406],{},[402,1207,1208,1214,1216,1220,1222],{},[11,1209,411,1210,415,1212,419],{},[40,1211,414],{},[40,1213,418],{},[11,1215,422],{},[11,1217,425,1218,430],{},[427,1219,429],{},[11,1221,433],{},[11,1223,1224],{},[14,1225],{"alt":438,"src":439},[402,1227,1228,1230],{},[11,1229,444],{},[402,1231,1232,1234],{},[11,1233,449],{},[11,1235,1236],{},[14,1237],{"alt":454,"src":455},[25,1239,459],{"id":458},[199,1241,463],{"id":462},[11,1243,466,1244,474],{},[468,1245,473],{"href":470,"rel":1246},[472],[402,1248,1249],{},[11,1250,479],{},[11,1252,1253],{},[14,1254],{"alt":484,"src":485},[280,1256,1257,1261,1265],{},[283,1258,490,1259,494],{},[427,1260,493],{},[283,1262,497,1263,494],{},[427,1264,500],{},[283,1266,503],{},[11,1268,1269],{},[14,1270],{"alt":508,"src":509},[402,1272,1273],{},[11,1274,514],{},[11,1276,1277],{},[14,1278],{"alt":519,"src":520},[199,1280,524],{"id":523},[402,1282,1283,1287,1291,1311],{},[402,1284,1285],{},[11,1286,531],{},[11,1288,534,1289,538],{},[427,1290,537],{},[33,1292,1293],{"className":35,"code":541,"language":37,"meta":38,"style":38},[40,1294,1295,1299,1303,1307],{"__ignoreMap":38},[43,1296,1297],{"class":45,"line":46},[43,1298,548],{},[43,1300,1301],{"class":45,"line":52},[43,1302,553],{},[43,1304,1305],{"class":45,"line":58},[43,1306,558],{},[43,1308,1309],{"class":45,"line":65},[43,1310,563],{},[11,1312,566,1313,570],{},[427,1314,569],{},[11,1316,573],{},[11,1318,576,1319,579],{},[40,1320,37],{},[11,1322,1323],{},[14,1324],{"alt":584,"src":585},[11,1326,588],{},[402,1328,1329,1331,1335],{},[11,1330,593],{},[11,1332,1333],{},[427,1334,598],{},[402,1336,1337,1341,1345],{},[11,1338,603,1339,606],{},[40,1340,37],{},[11,1342,609,1343,612],{},[40,1344,37],{},[11,1346,615,1347,619],{},[427,1348,618],{},[402,1350,1351,1353,1357],{},[11,1352,624],{},[11,1354,1355],{},[427,1356,629],{},[402,1358,1359,1365,1373,1375],{},[11,1360,1361,637,1363,641],{},[40,1362,636],{},[40,1364,640],{},[11,1366,644,1367,647,1369,651,1371,655],{},[40,1368,636],{},[427,1370,650],{},[427,1372,654],{},[11,1374,658],{},[11,1376,1377,664],{},[427,1378,663],{},[402,1380,1381,1383],{},[11,1382,669],{},[402,1384,1385,1389],{},[11,1386,674,1387,678],{},[427,1388,677],{},[11,1390,681],{},[402,1392,1393,1397],{},[11,1394,686,1395],{},[427,1396,689],{},[11,1398,1399],{},[14,1400],{"alt":694,"src":695},[402,1402,1403,1405],{},[11,1404,700],{},[11,1406,1407],{},[14,1408],{"alt":694,"src":705},[199,1410,709],{"id":708},[11,1412,712,1413,716,1415,720],{},[40,1414,715],{},[40,1416,719],{},[33,1418,1419],{"className":176,"code":723,"language":178,"meta":38,"style":38},[40,1420,1421],{"__ignoreMap":38},[43,1422,1423,1425],{"class":45,"line":46},[43,1424,37],{"class":185},[43,1426,733],{"class":732},[11,1428,736],{},[33,1430,1432],{"className":1431,"code":740,"language":77,"meta":38},[75],[40,1433,740],{"__ignoreMap":38},[11,1435,1436],{},[14,1437],{"alt":694,"src":747},[11,1439,750],{},[33,1441,1442],{"className":176,"code":753,"language":178,"meta":38,"style":38},[40,1443,1444],{"__ignoreMap":38},[43,1445,1446,1448,1450,1452],{"class":45,"line":46},[43,1447,37],{"class":185},[43,1449,762],{"class":732},[43,1451,765],{"class":189},[43,1453,733],{"class":732},[11,1455,770,1456,773,1458,777],{},[40,1457,37],{},[40,1459,776],{},[33,1461,1462],{"className":176,"code":780,"language":178,"meta":38,"style":38},[40,1463,1464,1470],{"__ignoreMap":38},[43,1465,1466,1468],{"class":45,"line":46},[43,1467,640],{"class":185},[43,1469,733],{"class":732},[43,1471,1472,1474,1476,1478],{"class":45,"line":52},[43,1473,640],{"class":185},[43,1475,762],{"class":732},[43,1477,765],{"class":189},[43,1479,733],{"class":732},[25,1481,802],{"id":801},[199,1483,806],{"id":805},[11,1485,809],{},[33,1487,1488],{"className":176,"code":812,"language":178,"meta":38,"style":38},[40,1489,1490],{"__ignoreMap":38},[43,1491,1492,1494],{"class":45,"line":46},[43,1493,186],{"class":185},[43,1495,733],{"class":732},[11,1497,823,1498,827],{},[40,1499,826],{},[199,1501,831],{"id":830},[11,1503,466,1504,839,1507,494,1509,846],{},[468,1505,838],{"href":836,"rel":1506},[472],[427,1508,842],{},[40,1510,845],{},[11,1512,849,1513,853],{},[40,1514,852],{},[199,1516,857],{"id":856},[11,1518,860],{},[33,1520,1521],{"className":176,"code":863,"language":178,"meta":38,"style":38},[40,1522,1523,1529],{"__ignoreMap":38},[43,1524,1525,1527],{"class":45,"line":46},[43,1526,186],{"class":185},[43,1528,733],{"class":732},[43,1530,1531,1533,1535,1537],{"class":45,"line":52},[43,1532,186],{"class":185},[43,1534,762],{"class":732},[43,1536,765],{"class":189},[43,1538,733],{"class":732},[11,1540,884,1541,887],{},[40,1542,186],{},[25,1544,891],{"id":890},[11,1546,894],{},[199,1548,898],{"id":897},[11,1550,901],{},[33,1552,1553],{"className":176,"code":863,"language":178,"meta":38,"style":38},[40,1554,1555,1561],{"__ignoreMap":38},[43,1556,1557,1559],{"class":45,"line":46},[43,1558,186],{"class":185},[43,1560,733],{"class":732},[43,1562,1563,1565,1567,1569],{"class":45,"line":52},[43,1564,186],{"class":185},[43,1566,762],{"class":732},[43,1568,765],{"class":189},[43,1570,733],{"class":732},[11,1572,924],{},[199,1574,928],{"id":927},[11,1576,931],{},[33,1578,1579],{"className":176,"code":934,"language":178,"meta":38,"style":38},[40,1580,1581,1589],{"__ignoreMap":38},[43,1582,1583,1585,1587],{"class":45,"line":46},[43,1584,941],{"class":185},[43,1586,944],{"class":189},[43,1588,947],{"class":189},[43,1590,1591,1593,1595,1597,1599,1601],{"class":45,"line":52},[43,1592,941],{"class":185},[43,1594,944],{"class":189},[43,1596,956],{"class":189},[43,1598,959],{"class":189},[43,1600,962],{"class":189},[43,1602,965],{"class":189},[11,1604,968],{},[33,1606,1607],{"className":176,"code":971,"language":178,"meta":38,"style":38},[40,1608,1609],{"__ignoreMap":38},[43,1610,1611,1613,1615,1617,1619],{"class":45,"line":46},[43,1612,941],{"class":185},[43,1614,980],{"class":189},[43,1616,956],{"class":189},[43,1618,959],{"class":189},[43,1620,987],{"class":189},[11,1622,990],{},[33,1624,1625],{"className":176,"code":993,"language":178,"meta":38,"style":38},[40,1626,1627],{"__ignoreMap":38},[43,1628,1629,1631,1633,1635,1637],{"class":45,"line":46},[43,1630,941],{"class":185},[43,1632,1002],{"class":189},[43,1634,1005],{"class":732},[43,1636,1008],{"class":189},[43,1638,1011],{"class":189},[11,1640,1641,1016],{},[40,1642,941],{},[199,1644,1020],{"id":1019},[11,1646,1023],{},[33,1648,1649],{"className":176,"code":863,"language":178,"meta":38,"style":38},[40,1650,1651,1657],{"__ignoreMap":38},[43,1652,1653,1655],{"class":45,"line":46},[43,1654,186],{"class":185},[43,1656,733],{"class":732},[43,1658,1659,1661,1663,1665],{"class":45,"line":52},[43,1660,186],{"class":185},[43,1662,762],{"class":732},[43,1664,765],{"class":189},[43,1666,733],{"class":732},[11,1668,1046],{},[25,1670,1049],{"id":1049},[199,1672,1053],{"id":1052},[11,1674,1056,1675,1060],{},[40,1676,1059],{},[1062,1678,1679,1683,1685],{},[283,1680,1066,1681,1069],{},[40,1682,776],{},[283,1684,1072],{},[283,1686,1075],{},[11,1688,1078],{},[199,1690,1082],{"id":1081},[11,1692,1085],{},[33,1694,1695],{"className":176,"code":812,"language":178,"meta":38,"style":38},[40,1696,1697],{"__ignoreMap":38},[43,1698,1699,1701],{"class":45,"line":46},[43,1700,186],{"class":185},[43,1702,733],{"class":732},[11,1704,1098,1705,1101,1707,1104,1709,494],{},[40,1706,186],{},[40,1708,37],{},[40,1710,186],{},[199,1712,1110],{"id":1109},[11,1714,1113],{},[33,1716,1717],{"className":176,"code":1116,"language":178,"meta":38,"style":38},[40,1718,1719],{"__ignoreMap":38},[43,1720,1721,1723,1725,1727],{"class":45,"line":46},[43,1722,186],{"class":185},[43,1724,762],{"class":732},[43,1726,765],{"class":189},[43,1728,733],{"class":732},[11,1730,1131,1731,1134,1733,1137,1735,1140,1737,1144],{},[40,1732,186],{},[40,1734,37],{},[40,1736,640],{},[40,1738,1143],{},[343,1740,1147],{},{"title":38,"searchDepth":52,"depth":52,"links":1742},[1743,1744,1745,1750,1755,1760],{"id":382,"depth":52,"text":382},{"id":397,"depth":52,"text":397},{"id":458,"depth":52,"text":459,"children":1746},[1747,1748,1749],{"id":462,"depth":58,"text":463},{"id":523,"depth":58,"text":524},{"id":708,"depth":58,"text":709},{"id":801,"depth":52,"text":802,"children":1751},[1752,1753,1754],{"id":805,"depth":58,"text":806},{"id":830,"depth":58,"text":831},{"id":856,"depth":58,"text":857},{"id":890,"depth":52,"text":891,"children":1756},[1757,1758,1759],{"id":897,"depth":58,"text":898},{"id":927,"depth":58,"text":928},{"id":1019,"depth":58,"text":1020},{"id":1049,"depth":52,"text":1049,"children":1761},[1762,1763,1764],{"id":1052,"depth":58,"text":1053},{"id":1081,"depth":58,"text":1082},{"id":1109,"depth":58,"text":1110},{},{"title":377,"description":38},[361,1181,1182],{"id":5,"title":6,"body":1769,"category":361,"cover":17,"description":38,"extension":362,"meta":2005,"navigation":61,"path":364,"pinned":365,"publishedAt":366,"seo":2006,"slug":368,"stem":369,"summary":370,"tags":2007,"updatedAt":366,"visible":61,"__hash__":374},{"type":8,"value":1770,"toc":1990},[1771,1775,1777,1779,1781,1783,1803,1805,1810,1812,1814,1842,1848,1850,1854,1856,1876,1878,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1926,1928,1930,1934,1936,1938,1940,1942,1946,1948,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988],[11,1772,1773],{},[14,1774],{"alt":16,"src":17},[11,1776,20],{},[11,1778,23],{},[25,1780,28],{"id":27},[11,1782,31],{},[33,1784,1785],{"className":35,"code":36,"language":37,"meta":38,"style":38},[40,1786,1787,1791,1795,1799],{"__ignoreMap":38},[43,1788,1789],{"class":45,"line":46},[43,1790,49],{},[43,1792,1793],{"class":45,"line":52},[43,1794,55],{},[43,1796,1797],{"class":45,"line":58},[43,1798,62],{"emptyLinePlaceholder":61},[43,1800,1801],{"class":45,"line":65},[43,1802,68],{},[11,1804,71],{},[33,1806,1808],{"className":1807,"code":76,"language":77,"meta":38},[75],[40,1809,76],{"__ignoreMap":38},[11,1811,82],{},[11,1813,85],{},[33,1815,1816],{"className":35,"code":88,"language":37,"meta":38,"style":38},[40,1817,1818,1822,1826,1830,1834,1838],{"__ignoreMap":38},[43,1819,1820],{"class":45,"line":46},[43,1821,95],{},[43,1823,1824],{"class":45,"line":52},[43,1825,62],{"emptyLinePlaceholder":61},[43,1827,1828],{"class":45,"line":58},[43,1829,104],{},[43,1831,1832],{"class":45,"line":65},[43,1833,109],{},[43,1835,1836],{"class":45,"line":112},[43,1837,115],{},[43,1839,1840],{"class":45,"line":118},[43,1841,121],{},[11,1843,1844,127,1846,131],{},[40,1845,126],{},[40,1847,130],{},[25,1849,135],{"id":134},[11,1851,138,1852,142],{},[40,1853,141],{},[11,1855,145],{},[33,1857,1858],{"className":35,"code":148,"language":37,"meta":38,"style":38},[40,1859,1860,1864,1868,1872],{"__ignoreMap":38},[43,1861,1862],{"class":45,"line":46},[43,1863,155],{},[43,1865,1866],{"class":45,"line":52},[43,1867,160],{},[43,1869,1870],{"class":45,"line":58},[43,1871,165],{},[43,1873,1874],{"class":45,"line":65},[43,1875,170],{},[11,1877,173],{},[33,1879,1880],{"className":176,"code":177,"language":178,"meta":38,"style":38},[40,1881,1882],{"__ignoreMap":38},[43,1883,1884,1886],{"class":45,"line":46},[43,1885,186],{"class":185},[43,1887,190],{"class":189},[11,1889,193],{},[25,1891,197],{"id":196},[199,1893,201],{"id":201},[11,1895,204],{},[199,1897,207],{"id":207},[11,1899,210],{},[199,1901,213],{"id":213},[11,1903,216],{},[11,1905,219],{},[33,1907,1908],{"className":35,"code":222,"language":37,"meta":38,"style":38},[40,1909,1910,1914,1918,1922],{"__ignoreMap":38},[43,1911,1912],{"class":45,"line":46},[43,1913,229],{},[43,1915,1916],{"class":45,"line":52},[43,1917,62],{"emptyLinePlaceholder":61},[43,1919,1920],{"class":45,"line":58},[43,1921,238],{},[43,1923,1924],{"class":45,"line":65},[43,1925,243],{},[11,1927,246],{},[199,1929,249],{"id":249},[11,1931,252,1932,256],{},[40,1933,255],{},[11,1935,259],{},[199,1937,262],{"id":262},[11,1939,265],{},[25,1941,269],{"id":268},[11,1943,1944],{},[14,1945],{"alt":274,"src":275},[11,1947,278],{},[280,1949,1950,1952,1954,1956,1958,1960,1962,1964],{},[283,1951,285],{},[283,1953,288],{},[283,1955,291],{},[283,1957,294],{},[283,1959,297],{},[283,1961,300],{},[283,1963,303],{},[283,1965,306],{},[11,1967,309],{},[25,1969,313],{"id":312},[11,1971,316],{},[11,1973,319],{},[25,1975,323],{"id":322},[11,1977,326],{},[11,1979,329],{},[11,1981,332],{},[25,1983,335],{"id":335},[11,1985,338],{},[11,1987,341],{},[343,1989,345],{},{"title":38,"searchDepth":52,"depth":52,"links":1991},[1992,1993,1994,2001,2002,2003,2004],{"id":27,"depth":52,"text":28},{"id":134,"depth":52,"text":135},{"id":196,"depth":52,"text":197,"children":1995},[1996,1997,1998,1999,2000],{"id":201,"depth":58,"text":201},{"id":207,"depth":58,"text":207},{"id":213,"depth":58,"text":213},{"id":249,"depth":58,"text":249},{"id":262,"depth":58,"text":262},{"id":268,"depth":52,"text":269},{"id":312,"depth":52,"text":313},{"id":322,"depth":52,"text":323},{"id":335,"depth":52,"text":335},{},{"title":6,"description":38},[361,372,373],1786795114337]