跳转到内容

提问指南(小白版)

当你写代码遇到问题时,清晰地描述问题,非常重要。问得明白 = 解决得快。

为了让别人能更快帮你,也让你自己更快找到问题,这里给你一个最简单、最好用、最不会出错的提问模板。

五步清晰提问法

1️⃣ 我在做什么?

这是问题产生的背景。 说清楚你在运行哪段代码、你正在做哪一步。

例子: “我在运行 xxx 文件夹下的 data_plot.py 文件,想画一张折线图,想运行这个文件。”

2️⃣ 出现了什么问题?(实际 vs 预期)

告诉别人:

  • 你原本希望程序输出什么?
  • 但它实际上做了什么?有没有报错?有没有图没出来?
  • 附上截图 or 报错信息越详细越好。

例子: “我希望看到一张折线图,但程序运行后没有任何显示,也没有报错。”

3️⃣ 贴上相关代码(关键片段)

贴出你认为可能出问题的代码部分。
如果不确定,贴你最近修改的那几行,也可以全部贴。

例子:

python
plt.plot(x)
plt.show()

4️⃣ 运行环境(非常重要!)

别人很可能根据环境就能判断问题,告诉别人:

  • 你的系统(Windows / macOS / Linux)是什么?
  • Python 版本是多少?
  • 用的虚拟环境(conda / venv / 无)是哪个?
  • 涉及的包的版本(如果相关)?

例子: “我是 macOS,用的是 conda Python 3.11 的虚拟环境环境,pandas 版本是2.5。”

5️⃣ 我尝试过什么?

比如:

  • 有没有自己 Google / 查过文档?有具体哪些方法你尝试了?结果如何?
  • 有没有尝试修改某些参数?你改了哪些,结果如何?
  • 有没有尝试重启环境或更新包?结果如何?
  • 你的想法是什么?(要体现你的主动思考)

这能体现你的主动排查,告诉别人你不是完全空手提问的,让回答者更容易判断方向。

例子: “我试过加 plt.savefig(),但仍然没有输出。我怀疑可能是环境的问题,但不太确定。”

一键可复制的模板(小白最友好版)

  1. 背景:你在运行哪个文件 / 做什么步骤?
  2. 遇到的问题(实际 vs 预期):你希望得到什么实际结果?但发生了什么?有没有报错?是否可以提供截图?
  3. 关键代码
# 把你认为相关的代码贴在这里
  1. 运行环境
  • 系统:xxx
  • Python 版本:xxx
  • 虚拟环境(conda / venv / 无):xxx
  • 相关包的版本(如果需要):xxx
  1. 我已经尝试过的操作 :你查了什么?改了什么?试过什么方法?

为什么这样提问?

很简单:

你自己能更快找到问题:把问题说清楚,就是在把思路理顺。很多时候你写到一半就会恍然大悟。

别人更快帮你:别人不需要来回问你细节,也不会变成“侦探”。

你会变得更专业:清晰表达问题,是写代码、做科研、做项目合作都非常重要的能力。

最后,提问清楚,是新手成为高手的第一步。你每问一次清楚的问题,都会比昨天更像一个真正的程序员。


文档:梁彧祺、何梁星云、李欣怡

编辑:梁彧祺

Released under the BSD-3-Clause License.