news 2026/6/23 21:10:12

面向所有人的Python编程——核心编程概念(表达式3)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面向所有人的Python编程——核心编程概念(表达式3)

Python注释、命名与调试学习笔记

📝 注释(Comments)

🔧 注释的基本用法

# 单行注释:计算小时流逝的百分比 percentage = (minute * 100) / 60 # 行尾注释 percentage = (minute * 100) / 60 # 计算小时流逝的百分比

💡 注释的核心价值

  1. 解释代码意图:说明"为什么"这样做,而不是"做什么"

  2. 临时禁用代码:用#注释掉不需要执行的代码

  3. 提高可维护性

    "今天写的代码,只有我和上帝知道。如果没有注释,明天可能只有上帝知道了。"

⚠️ 注释的最佳实践

好注释坏注释
v = 5 # 速度(米/秒)v = 5 # 把5赋值给v
提供代码中不明显的信息简单重复代码行为
解释复杂逻辑或算法过于冗长,干扰阅读

🎯 使用场景

# 场景1:解释复杂逻辑 # 使用二分查找算法在有序数组中定位目标值 # 时间复杂度:O(log n) def binary_search(arr, target): # ... # 场景2:临时禁用代码 # print("调试信息:当前值 =", value) # 暂时关闭调试输出 # 场景3:标记待办事项 # TODO: 添加错误处理机制 # FIXME: 这里可能存在数组越界风险

🔤 变量命名:助记变量名

🤔 什么是助记变量名?

  • 助记:意为"记忆辅助工具"

  • 目的:帮助记忆变量的用途和含义

  • 原则:名字应反映变量的内容和用途

📊 对比三种命名风格

# 版本1:无意义命名(难以理解) a = 35.0 b = 12.50 c = a * b print(c) # 版本2:助记命名(清晰易懂) hours = 35.0 # 工作小时数 rate = 12.50 # 小时工资率 pay = hours * rate # 总工资 print(pay) # 版本3:混乱命名(完全不可读) x1q3z9ahd = 35.0 x1q3z9afd = 12.50 x1q3p9afd = x1q3z9ahd * x1q3z9afd print(x1q3p9afd) 🔍 初学者与保留字的困惑
# 初学者容易混淆:哪些是保留字?哪些是变量名? for word in words: # for, in, : 是保留字 print(word) # print 是函数,word, words 是变量名 # 类比帮助理解 for slice in pizza: # 明显看出pizza和slice是程序员选择的变量名 print(slice) # Python不懂"披萨",只懂语法结构

🎨 编辑器辅助

  • 现代编辑器用不同颜色区分保留字和变量

  • 保留字通常显示为粗体或特殊颜色

  • 经过练习,你能快速识别代码结构

🐛 调试(Debugging)

🔴 语法错误(Syntax Errors)

1. 非法变量名
# 错误:使用保留字 class = "Python课" # SyntaxError: invalid syntax yield = 5 # SyntaxError: invalid syntax # 错误:包含非法字符 odd~job = "工作" # SyntaxError: invalid syntax US$ = 100 # SyntaxError: invalid syntax
2. 变量名中的空格
bad name = 5 # SyntaxError: invalid syntax # Python认为这是"bad"和"name"两个没有运算符的操作数
💡 解决方案
  • 仔细检查错误行和前一行的语法

  • 使用编辑器语法高亮功能

  • 记住Python的错误提示可能不够具体

🔵 运行时错误(Runtime Errors)

1. 未定义变量
principal = 327.68 interest = principle * rate # NameError: name 'principle' is not defined # 拼写错误:principal ≠ principle
2. 大小写敏感
LaTeX = "文档系统" print(latex) # NameError: name 'latex' is not defined # LaTeX ≠ latex
💡 解决方案
  • 检查变量名拼写是否一致

  • 确保变量在使用前已赋值

  • 使用有意义的变量名减少拼写错误

🟡 语义错误(Semantic Errors)

运算顺序错误
# 错误:想要计算 1/(2π) result = 1.0 / 2.0 * pi # 实际计算的是 (1/2)*π = π/2 # 正确:使用括号明确意图 result = 1.0 / (2.0 * pi) # 这才是 1/(2π)
常见陷阱
# 例1:浮点数精度 x = 0.1 + 0.2 # 期望0.3,实际0.30000000000000004 # 例2:整数除法 # Python 2: 9/2 = 4 # Python 3: 9/2 = 4.5

📋 调试策略与技巧

1. 预防性编程

# 使用有意义的变量名 work_hours = 40 hourly_rate = 25.0 # 添加清晰的注释 # 计算税前工资:工作小时 × 小时工资率 gross_pay = work_hours * hourly_rate

2. 逐步测试

# 复杂表达式分步计算 numerator = 2 * x + 3 denominator = x - 1 result = numerator / denominator # 检查中间值 print(f"分子: {numerator}, 分母: {denominator}")

3. 使用print调试

def calculate_discount(price, discount_rate): print(f"调试: 原价={price}, 折扣率={discount_rate}") discounted = price * (1 - discount_rate) print(f"调试: 折后价={discounted}") return discounted

4. 常见错误检查清单

  • 变量名是否拼写正确?

  • 变量是否在使用前已定义?

  • 是否误用了保留字?

  • 运算顺序是否正确?

  • 是否需要添加括号?

  • 浮点数计算是否考虑了精度?

💎 核心要点总结

注释

  • 解释"为什么",而非"做什么"

  • 保持注释简洁相关

  • 使用注释作为调试工具

变量命名

  • 使用助记变量名提高可读性

  • 区分保留字和自定义变量名

  • 保持命名一致性

调试

  • 语法错误:检查保留字使用和特殊字符

  • 运行时错误:检查变量定义和拼写

  • 语义错误:检查运算顺序和逻辑意图

黄金法则:写代码时想着三个月后的自己。清晰的注释和命名的代码,能让未来的你(和其他开发者)感激不尽!调试是编程的一部分,不要害怕错误——每个错误都是学习的机会。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 18:12:28

NVIDIA显卡设置终极指南:从问题诊断到性能优化的完整解决方案

NVIDIA显卡设置终极指南:从问题诊断到性能优化的完整解决方案 【免费下载链接】nvidia-settings NVIDIA driver control panel 项目地址: https://gitcode.com/gh_mirrors/nv/nvidia-settings 你是否曾经遇到过游戏画面频繁卡顿、多显示器配置复杂难懂、显卡…

作者头像 李华
网站建设 2026/6/23 0:44:59

聚星成链,蓝卓牵头成立“工厂操作系统生态联盟”共建产业新生态

在2025未来智造大会暨supOS全球新品发布会上,蓝卓数字科技联合北京鼎硕科技、浙江魔云物联、重庆创景数智、安徽祯欣互联、山东理工云智慧、蓝宝实数字科技、大连华锐智能化科技共八家企业共同成立“工厂操作系统生态联盟”,为破解工业数字化转型痛点、构…

作者头像 李华
网站建设 2026/6/23 10:17:04

每天一道面试题之架构篇|可靠订单状态机与事务消息架构设计

面试官:"电商订单从创建到完成涉及10多个状态,如何保证状态变更的可靠性和事务一致性?"一、开篇:订单系统的核心挑战 想象一下:用户下单后支付成功,但订单状态还是未支付;或者优惠券扣…

作者头像 李华
网站建设 2026/6/23 19:46:11

10分钟掌握开源美颜SDK核心技术:从算法原理到商业应用实战

10分钟掌握开源美颜SDK核心技术:从算法原理到商业应用实战 【免费下载链接】Meihu-Beautyface-sdk 美狐美颜sdk,支持美颜滤镜(Beauty Filter)、面具特效(Mask the special effects)、贴纸(Software/Hardware Encoder) 、滤镜(LUTs) 项目地址: https://…

作者头像 李华
网站建设 2026/6/23 14:13:38

EmotiVoice支持哪些语言?多语种语音合成能力测试报告

EmotiVoice支持哪些语言?多语种语音合成能力测试报告 在虚拟偶像直播中突然“变声”,游戏NPC因剧情推进而语气骤变,或是有声读物朗读者在悲壮场景下自然流露出哽咽感——这些曾属于人类专属的语音表现力,正被一种新型TTS技术悄然实…

作者头像 李华
网站建设 2026/6/23 16:51:54

AI语音合成进入情感时代:EmotiVoice带来全新听觉体验

AI语音合成进入情感时代:EmotiVoice带来全新听觉体验 在智能音箱里听到一句冷冰冰的“已为您打开灯光”,和听见一个带着轻快语调、仿佛真人在微笑地说“房间亮啦,心情也变好了呢~”,哪一种更让你愿意再次交互?这正是当…

作者头像 李华