对于Python的社区和生态系统,新手应该了解什么?

对于Python的社区和生态系统,新手应该了解什么?,python,documentation,Python,Documentation,我正在拼凑一些Python的介绍,但重点是社区和围绕Python的生态系统,而不仅仅是语言。关于如何像计算机科学家一样思考和其他优秀的教程,很容易熟悉这门语言,但我花了相当长的时间才知道奶酪店,或者,呃,PyPi是关于什么的,pip和virtualenv是如何工作的,为什么你应该使用它们,你应该去哪里寻求帮助,你应该关注的有趣的博客,代码的外观(PEP8,编写Python代码)等等。“软东西” 刚开始使用Python时,您最困惑的是什么?是否有某些事情是你想知道的,或者有哪些资源是你希望自己能更

我正在拼凑一些Python的介绍,但重点是社区和围绕Python的生态系统,而不仅仅是语言。关于如何像计算机科学家一样思考和其他优秀的教程,很容易熟悉这门语言,但我花了相当长的时间才知道奶酪店,或者,呃,PyPi是关于什么的,pip和virtualenv是如何工作的,为什么你应该使用它们,你应该去哪里寻求帮助,你应该关注的有趣的博客,代码的外观(PEP8,编写Python代码)等等。“软东西”


刚开始使用Python时,您最困惑的是什么?是否有某些事情是你想知道的,或者有哪些资源是你希望自己能更早发现的?需要了解的人

我在StackOverflow上发现了一些类似的问题(例如),但没有什么真正接近我想从你们那里听到的。希望这个问题对你的口味来说不要太主观:-)


(如果您愿意帮忙,请随时发送消息。)

解释政治公众人物是什么,是如何写的,是谁写的,我们可以在哪里找到他们。政治公众人物(PEP)提供了大量关于该语言特定特征的背景信息。它们也是展示python发展速度的工具


(我希望我以前读过一些PEP,但我并不真正了解它们,尽管手册中经常链接它们)

我认为初学者需要了解Python生态系统最重要的一点是,它是一种通用语言,周围有专门的lib。有经验的蟒蛇学家知道他们,但新手不能:

  • 不要停下来问金特:去吧,或者
  • 不要手工开发web代码:使用或
  • 不要使用硬工具解析HTML/XML:使用或
  • 不要对imagemagik:use进行系统调用
  • 不要手工制作高等数学:使用和
  • 不要手动访问简单的数据库:像ORM一样使用
  • 不要重新发明系统管理控制盘:使用
  • 等等
应该在一本书中列出主要的指南,供您选择。

“当您刚开始使用Python时,最让您困惑的是什么?”

学习Python的规则1:使用源代码,Luke。

所以,有一个问题是,需要从中学习Python的“好”源代码。最好的答案是“阅读Python附带的库”

可以说Python附带的库很奇怪。在某些地方。这使他们更好地学习

  • 有一群志同道合的人,他们不是克隆人

  • 开源软件是您使用过的最高质量的软件,但它不是由严格执行标准的付费开发人员创建的

  • “当您刚开始使用Python时,您最困惑的是什么?”

    学习Python的规则2:您认为需要的任何通用模块或框架都已经编写好了。几次。

    困难的部分是认识到你的想法是正确的

  • 不是独一无二的

  • 在你开始思考之前就已经有所改进了

  • 已经贴在某处了

  • 所以,少编码多搜索。广泛而灵活地搜索,直到你找到与你想做的事情相似的东西

    • 意识到你可能有一个你认为是描述性的名字。但其他人可能会称之为不同的东西。加入社区,接受他们的命名。你可能不喜欢“ORM”这个短语,但它就是这么叫的

    • 意识到你的想法,不管它看起来多么合理,可能真的很糟糕。当你发现一个框架似乎有“不必要的额外特性”时,你的想法中可能遗漏了一些东西

    • 意识到你的想法,不管它看起来多么“直观”,可能真的很糟糕。当您发现一个似乎“违反直觉”的框架时,问题可能是您的。先学习他们的,然后在掌握他们之后进行比较和对比。在你掌握了他们之前,继续探索和学习


    与生态系统和社区间接相关的几点:

    • 我希望有人能提醒我更多关于所含
      电池的信息。我认为人们应该被告知打印出来,并把它放在枕头下,以便进行频繁的评论(这条建议,我终于在几年前从一个在线介绍/初学者视频演示中采纳了!)。Std Lib的[相对]稳定、广泛但相关的内容说明了社区领导人及其喜爱的BDFL的深思熟虑的治理

    • 我认为新来者也可以被“警告”(这个词可能太强,太不公平)关于极端多样性的信息。这反映了用户和贡献者的活力、智慧和多样性(在背景、应用领域、兴趣等方面)。然而,这可能是压倒性的,也可能是有风险的,因为那里的所有软件包都没有“黄金时间准备就绪”(但许多软件包已经准备就绪,并且多次“救了我的命”)

    • 即使您觉得自己对Python太陌生,也不要只使用这些库,一定要偷看!许多语言都是如此,但可能特别是Python,通过阅读各种源代码可以学到很多东西。对于Python来说,这一点可能特别正确,这是语言本身固有的原因(多范式,高抽象级别…),但也因为编码(和架构)风格的相对一致性,以及社区内协作的一般水平

    来自


    (又名Python的禅宗)

    开发一个Python软件包,可以通过easy_install等安装。。。我认为它相当于开发一个JAR或DLL…… 出于同样的原因,我认为
    import this