当前位置: 首页 > article >正文

Python从入门到精通(第02章):第一个程序与基础语法规范

Python从入门到精通第02章第一个程序与基础语法规范开头导语这是本系列第02章。本文采用“知识点讲解 错误示例 正确写法 自测清单”的结构目标是让你不仅能看懂还能独立写出可运行代码。建议你边看边敲所有示例都亲自执行一次。## 章节摘要本章围绕“第一个程序与基础语法规范”展开采用“错误示例 正确写法 对比说明”的学习方式。你将看到每个知识点的常见陷阱和修复路径并通过可运行代码建立稳定的编码习惯。学完后你应能独立实现本章主题的小型程序并具备基础排错能力。## 关键词输入输出缩进注释文档字符串f-string主程序入口## 学习目标- 把本章概念讲清楚知道“什么时候用、什么时候不用”。- 每个知识点都能跑通代码能看懂输出结果。- 能独立完成本章案例并解释关键实现步骤。## 先修知识- 已安装 Python 3.11 及以上版本。- 会在终端执行python命令。- 会创建并激活虚拟环境。## 环境准备bashpython --versionpython -m venv .venvbash# Windows PowerShell.venv\Scripts\Activate.ps1## 核心知识讲解### 知识点1输出与输入最小交互程序必须包含输入和输出。错误示例不要这样写pythonname input(请输入名字: )print(你好, 1)问题说明字符串和整数直接拼接会抛TypeError。正确写法pythonname input(请输入名字: )print(f你好, {name})对比要点先看输入类型是否匹配再看边界是否覆盖最后检查异常是否可控。练习建议把正确写法改成函数再补一组异常输入测试。### 知识点2注释与文档字符串注释解释“为什么”文档字符串解释“做什么”。错误示例不要这样写pythondef add(a, b):return a b问题说明函数体没有正确缩进会触发语法错误。正确写法pythondef add(a, b): 返回两个数之和 return a b对比要点先看输入类型是否匹配再看边界是否覆盖最后检查异常是否可控。练习建议把正确写法改成函数再补一组异常输入测试。### 知识点3缩进语法Python用缩进表示代码块缩进错误会直接报错。错误示例不要这样写pythonscore 90if score 60:print(及格)问题说明条件块内缺失缩进会触发IndentationError。正确写法pythonscore 90if score 60: print(及格)对比要点先看输入类型是否匹配再看边界是否覆盖最后检查异常是否可控。练习建议把正确写法改成函数再补一组异常输入测试。### 知识点4多行语句使用圆括号可以安全换行代码可读性更好。错误示例不要这样写pythontotal 10 20 30问题说明不正确的换行会导致语法错误。正确写法pythontotal ( 10 20 30)print(total)对比要点先看输入类型是否匹配再看边界是否覆盖最后检查异常是否可控。练习建议把正确写法改成函数再补一组异常输入测试。### 知识点5格式化输出推荐用 f-string表达简洁且性能稳定。错误示例不要这样写pythonlang Pythonprint(%d % lang)问题说明格式化占位符类型不匹配会报错。正确写法pythonlang Pythonver 3.11print(f{lang} {ver})对比要点先看输入类型是否匹配再看边界是否覆盖最后检查异常是否可控。练习建议把正确写法改成函数再补一组异常输入测试。### 知识点6主程序入口用if __name__ __main__区分导入与直接运行。错误示例不要这样写pythondef main(): print(run)if __name__ __main__:print(start)问题说明入口判断后的代码块缺失缩进。正确写法pythondef main(): print(run main)if __name__ __main__: main()对比要点先看输入类型是否匹配再看边界是否覆盖最后检查异常是否可控。练习建议把正确写法改成函数再补一组异常输入测试。## 案例实战本章主案例目标围绕“第一个程序与基础语法规范”完成一个可运行的小程序包含输入、处理、输出三个环节。 你需要先实现最小功能再补校验和异常处理。pythondef validate_input(value: str) - str: value value.strip() if not value: raise ValueError(输入不能为空) return valuedef main(): raw demo clean validate_input(raw) print(处理结果:, clean)if __name__ __main__: main()扩展练习把主案例改成函数化结构并给每个函数写一组测试输入。你需要记录“正常输入、边界输入、异常输入”三类结果。## 常见错误与排查- 复制代码后直接运行报错先确认缩进、引号、括号是否完整。- 输出和预期不一致打印中间变量逐步定位问题环节。- 修改一处导致多处报错说明函数耦合过高优先拆分函数职责。## 性能与工程建议- 先保证正确再考虑优化。- 每个函数尽量只做一件事输入输出保持明确。- 对外部输入做校验避免脏数据进入核心逻辑。- 写完代码后做一次“从零运行”检查确保可复现。## 本章代码自测清单可打勾- [ ] 我已运行本章所有“正确写法”代码且输出符合预期。- [ ] 我已复现至少3个“错误示例”并能解释错误原因。- [ ] 我已把至少2个知识点代码改写成函数版本。- [ ] 我已补充正常输入、边界输入、异常输入三类测试数据。- [ ] 我已给主案例增加输入校验或异常处理逻辑。- [ ] 我已用更清晰的变量名重构至少一段示例代码。- [ ] 我已完成扩展练习并记录与主案例的差异。- [ ] 我能不看文档口述本章6个知识点的用途与边界。- [ ] 我能独立写出1个与本章主题相关的小程序。- [ ] 我已为下一章整理了1份待补基础清单。## 章末提问1. 本章最核心的三个知识点是什么2. 哪个知识点最容易写错你准备怎么规避3. 本章代码示例中哪个函数最值得复用4. 你能说出一个边界输入示例吗5. 为什么要做输入校验6. 如何判断你已经掌握本章内容7. 本章知识在真实项目中会出现在哪个环节8. 如果重构本章案例你先改哪一部分9. 本章里有哪些命名可以更清晰10. 下一章学习前你会补充什么练习## 章末答案1. 以章节中的知识点小节为准至少能口述定义与用途。2. 通常是边界处理与异常处理需通过测试数据覆盖。3. 输入校验与数据清洗函数最常见。4. 例如空字符串、None、超长文本、非法数字等。5. 输入校验可以拦截错误数据减少连锁故障。6. 能脱离文档独立写出同类代码并解释原因。7. 可能在接口层、数据处理层、任务脚本层。8. 先拆分函数职责再补单元测试。9. 优先替换含糊命名让变量表达业务意图。10. 补做2-3个小练习把概念变成肌肉记忆。## 本章小结- 本章重点不是“看懂”而是“能独立写出来”。- 每个知识点都要配代码并亲手运行。- 学会用测试输入验证代码稳定性会明显提升。## 下一章预告下一章是第03章《变量、数据类型与类型转换》。建议先完成本章自测清单再进入下一章。## 章节导航- 上一篇第01章《Python与开发环境搭建》- 下一篇第03章《变量、数据类型与类型转换》## 版权声明本文为《Python从入门到精通》系列连载内容面向学习交流使用。转载请保留出处与章节信息。

相关文章:

Python从入门到精通(第02章):第一个程序与基础语法规范

Python从入门到精通(第02章):第一个程序与基础语法规范 开头导语这是本系列第02章。本文采用“知识点讲解 错误示例 正确写法 自测清单”的结构,目标是让你不仅能看懂,还能独立写出可运行代码。建议你边看边敲&…...

efficiency-nodes-comfyui:ComfyUI效率革命的革新性解决方案

efficiency-nodes-comfyui:ComfyUI效率革命的革新性解决方案 【免费下载链接】efficiency-nodes-comfyui A collection of ComfyUI custom nodes.- Awesome smart way to work with nodes! 项目地址: https://gitcode.com/gh_mirrors/eff/efficiency-nodes-comfyu…...

从H3C转战华为S5720:一个网管的真实配置手记与命令对比

从H3C到华为S5720:网络工程师的配置迁移实战指南 第一次接触华为S5720交换机的H3C老手们,往往会在熟悉的CLI界面里遭遇微妙的"方言差异"。就像习惯粤语的人突然要说闽南语,明明都是中文,某些发音和用词却让人愣住半秒。…...

pyLDAvis终极指南:如何用交互式可视化轻松理解主题模型

pyLDAvis终极指南:如何用交互式可视化轻松理解主题模型 【免费下载链接】pyLDAvis Python library for interactive topic model visualization. Port of the R LDAvis package. 项目地址: https://gitcode.com/gh_mirrors/py/pyLDAvis 你是否曾面对一个训练…...

零基础5分钟部署通用物体识别-ResNet18:小白也能搭建的AI图像分类服务

零基础5分钟部署通用物体识别-ResNet18:小白也能搭建的AI图像分类服务 1. 为什么选择ResNet-18做图像分类 图像分类是计算机视觉中最基础也最实用的技术之一。想象一下,当你拍了一张照片上传到社交平台,系统能自动识别出照片中是"猫&q…...

电子信息工程毕业设计题目实战指南:从选题到嵌入式系统落地的完整路径

作为一名电子信息工程专业的过来人,我深知毕业设计从“纸上谈兵”到“实物跑通”之间,往往隔着一条名为“工程实践”的鸿沟。很多同学选题时雄心勃勃,却在硬件调试、代码整合、系统联调等环节频频“翻车”,最终只能做出一个功能残…...

SpringBoot+Vue3构建企业级数据可视化驾驶舱

1. 企业级数据可视化驾驶舱的核心价值 数据可视化驾驶舱已经成为现代企业决策的神经中枢。想象一下飞机驾驶舱里密密麻麻的仪表盘——每个指标都在实时告诉你飞机的状态。企业驾驶舱也是同样的逻辑,只不过我们把飞行数据换成了销售额、用户增长、库存周转率这些业务…...

QNAP QVR Pro 严重漏洞可导致系统遭远程访问

聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士威联通(QNAP)发布安全公告,修复了QVR Pro监控软件中的一个严重漏洞CVE-2026-22898,可导致远程未认证攻击者获得对受影响系统的未授权访问权限。…...

Kook Zimage真实幻想Turbo效果实测:中英文混合Prompt真的智能吗?

Kook Zimage真实幻想Turbo效果实测:中英文混合Prompt真的智能吗? 今天咱们来聊聊一个最近挺火的AI绘画工具——Kook Zimage真实幻想Turbo。这名字听起来有点绕,但说白了,它就是一个能让你在自己电脑上快速画出梦幻风格图片的AI系…...

收藏!小白程序员必看:轻松入门RAG大模型系统,解决信息漂移与幻觉问题

RAG是一种以大模型为核心、结合外部知识库的系统,通过检索相关资料再生成回答,有效降低大模型在事实细节上的漂移和知识滞后问题。它不同于简单的提示词嵌入,也非万能的幻觉克星,而是强调证据追溯与质量。RAG适用于资料变动频繁且…...

基于SpringBoot毕业设计管理系统的效率优化实战:从单体架构到高响应体验

最近在参与一个毕业设计管理系统的重构项目,系统主要服务于师生进行选题、开题、中期检查、答辩等全流程管理。随着用户量增长,原有的系统在高并发场景下暴露出了不少性能问题,比如选题时页面卡顿、审核流程通知延迟、报表查询缓慢等。我们团…...

s2-pro效果对比评测:与VITS、CosyVoice在音色保真度上的实测分析

s2-pro效果对比评测:与VITS、CosyVoice在音色保真度上的实测分析 1. 评测背景与目的 语音合成技术近年来发展迅速,各种开源模型层出不穷。作为专业级语音合成模型,s2-pro在音色保真度方面表现如何?本次评测将它与当前主流的VITS…...

s2-pro语音合成多场景应用:跨境电商多语种商品介绍语音批量生成

s2-pro语音合成多场景应用:跨境电商多语种商品介绍语音批量生成 1. 跨境电商语音合成的商业价值 在跨境电商运营中,商品介绍语音是提升转化率的关键因素。传统人工录制多语言语音面临三大痛点: 成本高昂:聘请专业配音员录制10种…...

Ace Data Cloud SUNO 音乐生成 API 实战分享

前言 随着 AI 技术的快速发展,音乐生成也进入了一个全新的阶段。对于开发者和内容创作者来说,如何快速、高效地获得高质量且无水印的音乐,成为了一个实用需求。Ace Data Cloud 新推出的 SUNO 音乐生成 API 正是为了解决这一问题而诞生。 本…...

机械臂视觉标定进阶:如何用Python脚本自动化处理JAKA机械臂的标定数据

机械臂视觉标定进阶:Python脚本自动化处理JAKA机械臂标定数据全攻略 在工业自动化领域,机械臂的视觉标定精度直接决定了整个系统的作业质量。传统手动标定方法不仅耗时费力,而且难以保证批次间的一致性。本文将分享一套基于Python的自动化标定…...

Obsidian模板系统深度指南:从基础应用到高级定制

Obsidian模板系统深度指南:从基础应用到高级定制 【免费下载链接】OB_Template OB_Templates is a Obsidian reference for note templates focused on new users of the application using only core plugins. 项目地址: https://gitcode.com/gh_mirrors/ob/OB_T…...

3个颠覆认知技巧:用vectorizer实现图像矢量化的极简方案

3个颠覆认知技巧:用vectorizer实现图像矢量化的极简方案 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer 在数字设计与开发领域&am…...

像素幻梦2.0稳定版深度解析:VAE Tiling与sequential CPU offload优化实测

像素幻梦2.0稳定版深度解析:VAE Tiling与sequential CPU offload优化实测 1. 像素幻梦2.0概述 像素幻梦(Pixel Dream Workshop)是基于FLUX.1-dev扩散模型构建的新一代像素艺术生成工具。2.0稳定版带来了显著的性能优化和用户体验提升,特别是在高分辨率…...

基于鸿蒙ArkTS开发毕设的效率提升实践:从模板复用到构建优化

在高校毕业设计的开发过程中,时间往往是最大的敌人。尤其是选择鸿蒙ArkTS这类相对较新的技术栈时,很多同学会把大量精力耗费在项目初始化、环境调试和重复性的基础代码编写上,真正用于实现核心业务逻辑的时间反而被压缩。我自己在完成基于鸿蒙…...

如何免费将模糊图片变成高清画质?Real-ESRGAN-GUI终极AI图像修复指南

如何免费将模糊图片变成高清画质?Real-ESRGAN-GUI终极AI图像修复指南 【免费下载链接】Real-ESRGAN-GUI Lovely Real-ESRGAN / Real-CUGAN GUI Wrapper 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN-GUI 你是否曾为模糊不清的老照片、低分辨率的…...

Cogito-V1-Preview-Llama-3B AIGC内容创作:多风格文案生成效果对比

Cogito-V1-Preview-Llama-3B AIGC内容创作:多风格文案生成效果对比 最近在试用各种AIGC模型,发现了一个挺有意思的选手:Cogito-V1-Preview-Llama-3B。名字有点长,但简单说,它是一个专门为内容创作设计的模型&#xff…...

Flux Sea Studio 海景摄影生成工具:Git版本控制管理生成脚本与模型参数

Flux Sea Studio 海景摄影生成工具:Git版本控制管理生成脚本与模型参数 1. 引言 你有没有遇到过这样的情况?花了好几个小时,终于调出一组完美的参数,生成了一张惊艳的海景图。结果第二天想复现,或者想分享给团队伙伴…...

DeOldify图像上色服务作品集:真实老照片修复案例大赏

DeOldify图像上色服务作品集:真实老照片修复案例大赏 1. 老照片修复的艺术与科技 黑白老照片承载着无数珍贵记忆,但褪色的画面总让人感觉少了些什么。传统的手工上色需要专业画师花费数小时,而今天,AI技术让老照片修复变得触手可…...

ChatGPT连接稳定性优化指南:解决频繁断开的技术方案

ChatGPT连接稳定性优化指南:解决频繁断开的技术方案 最近在做一个智能客服项目,接入了ChatGPT API来提供对话服务。上线第一天就收到了不少用户投诉:“聊到一半突然没反应了”、“客服突然消失了”。排查后发现,都是因为API连接频…...

Qwen3-Reranker-8B跨平台部署:Windows与Linux对比

Qwen3-Reranker-8B跨平台部署:Windows与Linux对比 1. 引言 如果你正在寻找一个强大的文本重排序模型,Qwen3-Reranker-8B绝对值得关注。这个80亿参数的大模型在多项评测中表现优异,支持100多种语言,能够智能判断文档与查询的相关…...

Sphinx

Sphinx 是一个基于 Python 的文档生成器,特别适合为软件项目创建结构化的技术文档和 API 文档。它最初是为 Python 项目文档而开发,但现在已广泛应用于各种编程语言的项目中。📝 Sphinx 能做什么?Sphinx 的核心优势在于&#xff0…...

海康NVR接入监控平台遇到503错误?可能是这个协议配置问题

海康NVR接入监控平台遇到503错误?可能是这个协议配置问题 当海康NVR接入视频监控平台时出现503错误,很多技术人员的第一反应是检查网络连接或服务器状态。但实际上,协议配置不当往往是这类问题的隐形杀手。特别是在混合使用ONVIF协议和海康私…...

RePKG:解锁Wallpaper Engine壁纸资源的终极工具指南

RePKG:解锁Wallpaper Engine壁纸资源的终极工具指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经对Wallpaper Engine中精美的动态壁纸感到好奇&#xff0c…...

告别0x27!用CANoe 18手把手演示UDS 0x29双向认证(附Demo工程配置)

从0x27到0x29:CANoe 18实战UDS双向认证全流程解析 当ECU诊断接口成为黑客攻击的跳板时,传统种子-密钥机制就像用挂锁保护金库——2019年某德系品牌被曝通过重放攻击破解TBOX的案例,暴露出0x27服务在车联网时代的致命缺陷。本文将用Vector CAN…...

Inpaint-web革新实践:浏览器端图像修复的WebGPU加速解决方案

Inpaint-web革新实践:浏览器端图像修复的WebGPU加速解决方案 【免费下载链接】inpaint-web A free and open-source inpainting tool powered by webgpu and wasm on the browser. 项目地址: https://gitcode.com/GitHub_Trending/in/inpaint-web 当专业摄影…...