学习 Python 的第一步,不是记住所有语法,而是建立一套能独立编写、运行和排查小程序的基本能力。变量、数据类型、缩进和函数看起来简单,却决定了后续学习 Web 开发、数据分析和自动化脚本时是否顺畅。
下面通过一组自测问题和一个可运行的小程序,检查这些基础是否已经真正掌握。
先确认你会在哪里运行 Python
Python 代码通常有两种运行方式。
一种是在交互式解释器中快速试验:
python --version
python
进入解释器后,可以直接输入:
name = 'Ada'
print(f'Hello, {name}!')
退出时输入 exit(),或者按 Ctrl-D;Windows 命令提示符中也可以按 Ctrl-Z 后回车。
另一种方式是把代码保存为 .py 文件。例如创建 app.py,然后运行:
python app.py
部分系统需要使用 python3:
python3 --version
python3 app.py
编辑器可以使用任何能够保存纯文本的工具。开发时更方便的选择包括带 Python 扩展的 VS Code、PyCharm,或者系统自带的终端与文本编辑器。关键不是工具多复杂,而是能够看见程序输出和完整报错信息。
用几个问题检查核心概念
1. 变量是否需要预先声明类型?
不需要。Python 会根据赋值对象确定变量当前引用的数据类型:
score = 95
student = 'Lin'
passed = True
average = 87.5
print(type(score)) # <class 'int'>
print(type(student)) # <class 'str'>
print(type(passed)) # <class 'bool'>
print(type(average)) # <class 'float'>
不过,“不需要声明”并不意味着可以忽略类型。下面的代码会失败,因为字符串和整数不能直接相加:
age_text = '18'
age_next_year = int(age_text) + 1
print(age_next_year)
在处理命令行输入、表单数据或文件内容时,显式转换类型尤其重要。
2. 缩进只是为了美观吗?
不是。缩进是 Python 语法的一部分,用来界定条件、循环和函数的代码块:
score = 82
if score >= 60:
print('通过')
print('可以进入下一阶段')
else:
print('需要继续练习')
同一代码块应保持一致缩进,通常使用 4 个空格。不要在同一个文件中混用 Tab 和空格,否则可能出现 IndentationError,或者产生难以察觉的逻辑问题。
3. 函数解决了什么问题?
函数把一段操作命名并封装起来,使它可以被重复调用和单独测试:
def calculate_average(scores):
return sum(scores) / len(scores)
result = calculate_average([80, 92, 88])
print(result)
return 会把结果交还给调用者。只使用 print() 的函数虽然能够显示信息,但不方便其他代码继续处理计算结果。
一个可复制运行的基础练习
下面可以这样实践:编写一个成绩统计程序,同时练习输入、变量、列表、类型转换、缩进、函数和异常处理。
将以下内容保存为 score_app.py:
def parse_scores(raw_text):
parts = raw_text.split(',')
scores = []
for part in parts:
score = float(part.strip())
if score < 0 or score > 100:
raise ValueError('成绩必须在 0 到 100 之间')
scores.append(score)
if not scores:
raise ValueError('至少需要一个成绩')
return scores
def summarize(scores):
average = sum(scores) / len(scores)
passed = average >= 60
return {
'count': len(scores),
'average': average,
'passed': passed,
}
def main():
raw_text = input('请输入逗号分隔的成绩,例如 80, 95, 72:')
try:
scores = parse_scores(raw_text)
result = summarize(scores)
except ValueError as error:
print(f'输入错误:{error}')
return
print(f"成绩数量:{result['count']}")
print(f"平均分:{result['average']:.2f}")
print('结果:通过' if result['passed'] else '结果:未通过')
if __name__ == '__main__':
main()
运行程序:
python score_app.py
可以分别测试这些输入:
80, 95, 72
80, hello, 72
80, 120, 72
第一组输入会正常计算;第二组在把 hello 转为浮点数时触发 ValueError;第三组则由程序主动拒绝超出范围的成绩。这里的 try/except 并不是隐藏错误,而是把可预期的用户输入错误转换为清楚的信息。
看懂报错比避免报错更重要
初学 Python 时,报错是最有价值的反馈之一。遇到异常时,可以按下面的顺序阅读 traceback:
- 先看最后一行,确认异常类型和错误说明,例如
NameError、TypeError或ValueError。 - 再看指向自己文件的行号,而不是先研究 Python 内部文件。
- 检查变量名、实际数据类型、缩进和函数参数。
- 用
print()或交互式解释器验证一个更小的表达式。
几个常见错误分别说明不同问题:
SyntaxError:代码结构不符合语法,例如漏掉冒号或括号。NameError:使用了尚未定义或拼写错误的名称。TypeError:对某种对象执行了不支持的操作。ValueError:对象类型可以接受,但具体值不合法。IndentationError:代码块缩进不正确或不一致。
基础是否过关,可以看这份清单
如果你已经能够完成下面这些动作,就具备继续学习 Python 的基础:
- 能从终端确认 Python 版本并运行
.py文件。 - 能解释
str、int、float、bool和list的基本用途。 - 知道
input()返回字符串,必要时会使用int()或float()转换。 - 能使用正确缩进编写
if、for和函数。 - 能区分
print()与return。 - 遇到错误时会阅读异常类型和行号,而不是立即重写整个程序。
- 能为非法输入给出明确反馈,同时避免用过宽的
except Exception掩盖未知问题。
下一步可以在这个成绩程序上继续增加等级划分、文件读取或自动化测试。每次只添加一个功能,并在修改后立即运行,这比一次堆叠大量新语法更容易建立可靠的编程习惯。