拓冰建站拓冰建站
首页 / 资讯中心 / 正文

第一个程序:Hello World的完整执行流程

文章目录1.1 第一个程序Hello World的完整执行流程1.1.1 编写Hello World代码前置规范说明1.1.2 代码执行的全链路拆解1. 编写保存阶段静态文件持久化到硬盘2. 启动运行阶段操作系统创建独立进程3. 加载内存阶段程序从硬盘载入内存4. 解释执行阶段从源代码到CPU指令5. 输出结果阶段数据从内存输出到终端6. 程序结束阶段资源释放1.1.3 新手常见错误与排错1. 中文标点错误2. 大小写拼写错误3. 语法不完整缺少右括号4. 缩进错误Python特有高频错误5. 字符串引号不配对6. 文件名与内置名称冲突1.1.4 小结1.1 第一个程序Hello World的完整执行流程所有编程语言的入门都从Hello World开始它虽然代码极简却是验证开发环境是否正常、熟悉“编写-保存-执行-输出”全流程的第一步。对于运维开发方向而言Hello World的价值远不止“跑通代码”——它是最小化的程序执行样本吃透它背后的完整链路就能建立“代码→硬件→系统”的联动认知后续排查复杂脚本故障时才能追根溯源而不是只靠运气试错。1.1.1 编写Hello World代码前置规范说明Python脚本文件统一以.py为后缀命名建议遵循小写字母下划线的行业规范如hello_world.py禁止使用中文、空格、特殊字符也不要与Python内置关键字、函数名重名。这一习惯能避免后续在Linux服务器上运行时出现路径识别、模块冲突等隐性问题。【实例1-1】 编写并运行Hello World程序在PyCharm中新建项目创建hello_world.py文件。输入以下代码# 这是单行注释解释器不会执行用于标注代码说明# 调用print内置函数向控制台输出字符串内容print(Hello World!)print(跟老韩学Python开启运维开发之路)代码说明#开头的内容是单行注释用于给代码加备注不参与执行print()是Python内置的标准输出函数括号内是要输出的内容字符串可以用英文双引号包裹也可以用英文单引号只要前后配对一致即可。两种运行方式图形化运行右键编辑区空白处选择「运行 ‘hello_world’」或点击右上角绿色三角按钮命令行运行打开终端Terminal进入文件所在目录执行命令python3 hello_world.py运维场景核心方式服务器无图形界面时均使用命令行执行脚本。底部控制台输出结果Hello World! 跟老韩学Python开启运维开发之路恭喜你第一个Python程序运行成功。1.1.2 代码执行的全链路拆解不要只满足于“跑起来了”。我们结合上一节讲的CPU、内存、硬盘硬件知识把整个执行流程拆透建立完整的底层认知。短短两行代码的背后是一整套硬件与软件的协同工作完整分为6个阶段1. 编写保存阶段静态文件持久化到硬盘你在编辑器中输入的代码本质是纯文本按下保存键后操作系统将代码以.py文件的形式写入硬盘持久化存储。此时文件是静态的不占用CPU和内存资源仅占用磁盘存储空间对应上一节的「硬盘持久化存储」特性。2. 启动运行阶段操作系统创建独立进程点击运行或执行命令后PyCharm/终端会向操作系统发起进程创建请求。操作系统找到指定的Python解释器程序python.exe/python3为本次脚本运行创建一个独立的Python进程。进程是程序运行的基本单位每个脚本运行时都拥有独立的内存空间和资源配额互不干扰。3. 加载内存阶段程序从硬盘载入内存操作系统将硬盘中的两个核心对象加载到进程对应的内存空间中Python解释器本身的程序指令hello_world.py的源代码文件。内存会划分出专门的代码区存储指令、数据区存储运行时的临时数据。这一步对应上一节的核心规律所有程序必须加载到内存才能被CPU执行。4. 解释执行阶段从源代码到CPU指令这是程序运行的核心环节Python解释器会分四步处理代码词法分析将代码拆解为一个个语法单元关键字、标识符、符号、字符串等语法分析按照Python语法规则检查代码合法性比如括号是否配对、缩进是否正确不通过则直接抛出语法错误编译字节码将合法的源代码编译为跨平台的Python字节码中间形态对应.pyc缓存文件暂存在内存中同时会缓存到硬盘的__pycache__目录用于下次加速启动虚拟机执行Python虚拟机PVM逐行读取字节码翻译成CPU能识别的机器指令交给CPU完成最终的运算与执行。Python属于解释型语言核心特点是“边解释边执行”区别于C、Go等编译型语言“先整体编译成可执行文件再运行”的模式。5. 输出结果阶段数据从内存输出到终端执行print()函数时本质是调用操作系统提供的系统调用将内存中的字符串数据写入「标准输出流stdout」。如果是命令行运行输出流直接渲染到终端窗口如果是PyCharm运行PyCharm会捕获进程的输出流格式化后显示到底部控制台。6. 程序结束阶段资源释放所有代码执行完毕后Python解释器进程正常退出操作系统回收该进程占用的CPU时间片、内存空间清理运行时产生的临时数据源代码文件和字节码缓存文件则保留在硬盘中不会丢失。老韩提示整个Hello World的执行流程本质上就是数据在「硬盘→内存→CPU」之间的一次完整流转和上一节讲的硬件协作逻辑完全对应。再复杂的批量运维脚本、自动化平台执行链路都是这个基础流程的延伸与叠加。理解了这个底层逻辑以后遇到脚本卡死、无响应、异常退出你就能精准判断是哪个环节出了问题。1.1.3 新手常见错误与排错编程的过程就是不断遇到报错、解决报错的过程。运维工程师排查线上故障的思路和排查代码报错完全同源先定位故障点再分析原因最后验证修复。故意踩坑、熟悉报错信息是建立排错能力最快的方式。【实例1-2】 新手高频语法错误演示故意修改代码观察不同错误的报错信息建立排错意识1. 中文标点错误代码printHello World报错SyntaxError: invalid character 原因括号、引号等符号使用了中文全角格式Python只能识别英文半角符号。这是零基础最高发的错误。2. 大小写拼写错误代码Print(Hello World)报错NameError: name Print is not defined原因Python严格区分大小写print是内置函数名首字母大写的Print会被识别为未定义的变量。3. 语法不完整缺少右括号代码print(Hello World报错SyntaxError: unexpected EOF while parsing原因括号、引号等语法符号没有成对出现代码结构不完整解释器解析到文件末尾也没找到结束标记。4. 缩进错误Python特有高频错误代码print(Hello World!)print(跟老韩学Python)报错IndentationError: unexpected indent原因Python不靠大括号区分代码块而是靠缩进空格/Tab划分层级。同级代码必须保持完全一致的缩进量不能随意增减空格。5. 字符串引号不配对代码print(Hello World!)报错SyntaxError: EOL while scanning string literal原因字符串的前后引号类型不一致或缺少结尾引号解释器无法识别字符串的边界。6. 文件名与内置名称冲突比如将脚本命名为print.py运行时报错AttributeError: module print has no attribute print原因Python导入模块时会优先查找当前目录的文件文件名与内置函数、标准库重名时会覆盖原有功能。老韩提示排查代码错误三步走新手也能快速定位看错误类型SyntaxError是语法错误NameError是名称未定义IndentationError是缩进错误先通过类型锁定问题大类看报错行号报错信息中的line X就是出错的代码行直接跳转到对应位置看错误描述比如invalid character、not defined明确具体的出错原因。绝大多数新手错误都是符号、拼写、缩进、命名这类基础问题对照提示基本都能解决。不要怕报错每解决一个错误你对Python的理解就深一分。1.1.4 小结print()是Python最基础的标准输出函数用于向控制台打印内容也是日常调试脚本、输出运行结果最常用的工具。Python程序的执行是一条完整链路硬盘持久存储→操作系统创建进程→加载入内存→解释编译为字节码→CPU执行机器指令→输出结果→进程退出并释放资源。代码执行的本质是数据在硬盘、内存、CPU之间按照规则流转与计算机硬件的协作逻辑完全对应。新手高频错误集中在中文标点、大小写拼写、语法不完整、缩进错误、命名冲突五类可通过报错信息快速定位排查。所有代码符号必须使用英文半角格式、同级代码保持一致缩进、文件命名遵循规范是零基础入门必须牢记的三条基本准则。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门