【python基础】代码规范、注释技巧与避坑指南
·
掌握Python基础格式规范是编写高质量代码的第一步,本文详解缩进规则、注释方法及常见错误处理,帮助初学者快速避开语法陷阱。
一、Python程序基本格式规范
1. 缩进:Python的灵魂
强制规则:
- ✅ 必须使用4个空格作为缩进单位(官方推荐)
- ⚠️ Tab键需设置为4个空格(PyCharm默认设置)
- ❌ 禁止空格Tab混用(导致IndentationError)
# 正确示例
if True:
print("规范缩进") # 4个空格缩进
# 错误示例
if True:
print("混合缩进") # 2个空格(错误)
print("Tab缩进") # Tab键(错误)
PyCharm设置:
File → Settings → Editor → Code Style → Python
勾选Use tab character并设置Tab size=4
2. 大小写敏感:严格区分
# 下列变量互不相同
name = "小王"
Name = "老王"
NAME = "局长"
# 类名首字母大写
class UserManager:
# 方法名全小写下划线
def get_user_info(self):
# 常量全大写
MAX_RETRY = 3
二、注释的艺术:提升代码可读性
1. 单行注释(最常用)
# 计算商品折扣价格(井号后需空格)
discount_price = original_price * 0.8
# 下方代码因需求变更暂时弃用
# deprecated_code()
2. 多行注释的三种形式
'''
三单引号多行注释
常用于模块功能描述
例如:用户管理模块
'''
"""
三双引号多行注释
常用于类/函数文档字符串
(可通过__doc__属性访问)
"""
# 快捷键操作(PyCharm)
# 选中多行 → Ctrl+/(Windows)或 Cmd+/(Mac)
3. 注释本质揭秘
'''
该字符串未被变量引用
解释器会直接忽略
'''
doc_str = "这是真实字符串" # 被变量引用则保留
实战建议:
- 关键算法步骤必须注释
- 避免注释与代码不一致(比没注释更糟)
- 复杂函数使用文档字符串(Docstring)
三、新手必遇错误及解决方案
1. 定位错误:解读Traceback
Traceback (most recent call last):
File "demo.py", line 3 # ← 错误发生的文件行号
print("Hello")
^
SyntaxError: invalid character ')' (U+FF09)
2. 高频错误
| 错误类型 | 典型案例 | 解决方案 |
|---|---|---|
| 缩进错误 | IndentationError: unexpected indent | 检查行首是否有多余空格 |
所有违反Python语法规则的代码都会引发SyntaxError
| 错误类型 | 触发场景 | 错误提示示例 |
|---|---|---|
| 引号错误 | 使用中文引号 | invalid character '“' (U+201C) |
| 缩进错误 | 混合空格Tab | unexpected indent |
| 冒号缺失 | if/for后缺冒号 | invalid syntax |
| 括号不匹配 | 未闭合括号 | unterminated string literal |
| 保留字误用 | 变量名用保留字 | can't assign to keyword |
#快捷键操作(PyCharm)Alt+Enter获取IDE的错误修复提示方案
3. 特殊场景避坑指南
场景1:复制代码导致首行缩进错误
print("行首有空格") # 肉眼难辨的缩进错误
解决方法:PyCharm按
Ctrl+Alt+L格式化代码
场景2:字符串内误用中文符号
# 错误(中文括号)
print("这是一段“示范文本”)
# 正确(英文括号)
print("This is correct.")
场景3:Windows路径引发的错误
# 错误(未转义反斜杠)
file = "C:\new\temp.txt"
# 正确处理方案
file = r"C:\new\temp.txt" # 原始字符串
file = "C:/new/temp.txt" # 正斜杠替代
四、调试技巧:PyCharm高效排错
-
断点调试:
- 点击行号左侧红点设置断点
- 右键 →
Debug '文件名' - 使用步进按钮逐行执行
-
实时检查:
# 运行时检查变量类型 print(type(variable)) # 输出 <class 'str'> # 快速验证代码段 if condition: # 临时注释可能出错的部分 # raise Exception("测试异常") -
预防性编程:
try: result = 10 / 0 except ZeroDivisionError as e: print(f"捕获异常:{e}") # 友好提示替代崩溃
代码规范自检清单
- 所有缩进是否为4个空格?
- 函数/类名是否符合蛇形/驼峰命名?
- 关键逻辑是否有注释说明?
- 所有符号是否为英文状态?
遇到棘手问题?在评论区描述你的报错信息,社区高手在线解答! 💬
如果本文帮你避开了坑点,请点赞支持~ 👍
更多推荐
所有评论(0)