堆栈溢出和令人沮丧的初学者

“问题是,不好的问题不会破坏社区。 […]但是这种敌对行为确实破坏了社区。 它将初学者推开,一旦他们对自己的工作有了更多的了解,他们可能会在以后提出更好的问题。 它把像我这样的人赶走了。 愿意帮助甚至愿意为初学者提供帮助的人们。” —黑客新闻上的lambda

尽管说过我不打算学习编码,但我一直在努力学习Python 。 作者巧妙地将问题作为准作业向学生提出问题-您的工作就是在Google周围,直到找到答案为止。 因此,您养成了通过研究解决难题的习惯。

蛇剪贴画

在第五个练习的“研究练习”部分中,作者指示“尝试更多格式的字符。 “%r”是非常有用的。”我怀疑我不是唯一立即搜索“ Python格式字符”的学生。 最初的结果之一是Python 2文档中的页面。 答案就在那儿,但我没有意识到,因为那是页面(此处)的地狱。 该页面的顶部说了这一点,我感到难以理解:

“主要的内置类型是数字,序列,映射,文件,类,实例和异常。

一些对象类型支持某些操作。 特别是,几乎所有对象都可以进行比较,测试真值并转换为字符串(使用`repr()`函数或稍有不同的`str()函数)。 当通过print()函数写入对象时,隐式使用后一个函数。

我读了一下,然后想:“好吧,这一定不是我想要的!”回到Google。 我要去的下一个地方是堆栈溢出问题:

“我一直在寻找Python格式字符列表长达30分钟。我找不到任何字符。示例包括%d,%r等,但如果可能的话,我需要它们以及相关说明的列表。”在堆栈溢出中关闭为“不是一个真正的问题”。

啊哈! 有人遇到与我相同的问题! (当然,我是在搜索中花了几分钟的时间,而不是三十分钟,但最初的帖子是2010年的。)在寻求帮助的下方,有一封封条,叫做“……不是真正的问题”? 嗯好吧 我想OP并没有遵循所有的“您必须尝试,然后您必须要问”的规则(我完全相信,并且Stack Overflow的指导似乎与之相似)—但是很清楚他们在寻找什么。

我向下滚动以阅读答案。 这是第一个,按赞誉排名:

“在这里,有关旧字符串格式的Python文档。 花了我一分钟的时间找到(教程-> 7.1.1。旧字符串格式->’更多信息可以在[链接]部分中找到’),您的搜索策略肯定有问题;)” –用户delnan

这很有用,因为它提供了所需的信息。 但是它完全不能同情初学者的斗争。 我怀疑像我这样问这个问题的人很容易找到该文档页面。 答案就在那里,这是完全不明显的! 我感谢第三次Stack Overflow响应,该响应具有第一个响应的十分之一:

“在docs.python.org主题中= 5.6.2。 字符串格式化操作http://docs.python.org/library/stdtypes.html#string-formatting,然后进一步深入到图表(图表上方的文本为“转换类型为:”)[¶]图表列出了16种类型,以下一些注意事项。 我的评论:帮助不包括态度,这是一种奖励。 态度发布使我可以进一步搜索并找到信息。” —用户oceandreamer

另一个用户Lennart Regebro表示:“(在Google上,第一个匹配项现在可悲地是这个愚蠢的问题”)而不是Python 2文档页面。 好吧,如果没有访问“这个愚蠢的问题”及其引起的解释,这些文档对我根本没有帮助。 因为您不知道不知道,所以阅读该文档页面的顶部使我认为它与我所寻找的内容无关。 是的,我错了,但这是因为我是该死的初学者! 根据定义,我不擅长解析技术文档!

如果您对这个问题的回答是“阅读每个文档页面的全部内容以确保没有相关部分”,那么您将完全不切实际-这将不会发生。 也许是最初的提问者,我应该为r%做`ctrl + f`,但是我没有想到,所以我认为他们也没有想到。

初学者需要指导。 他们很笨,四处乱窜,陷入“简单”问题。 这就是为什么首先存在诸如“ 学习Python困难方式”和“堆栈溢出”之类的资源的原因。

我不认为编程语言的文档应该适合那些不知道自己在做什么的新手。 那太傻了。 我确实认为,参与学习型空间的人们不应以这种疲倦,干躁,挑剔的态度回答问题。 这是欢迎的反面,它并没有使我对与程序员交谈感到高兴。 但是,嘿,如果您不想要一个友好的社区,或者您不想更多的人学习如何编码,那么您做对了。