======================= Python Like You Mean It ======================= 更新到原文 `Commit e28bea4c6c29820e28c7d046a357b6f4953838ff `_ 作者 `Ryan Soklaski `_ (Twitter/GitHub:`@rsokl `_) 编辑 `David Mascharka `_ 翻译 `Alex Ding `_ `English Version `_ 这是什么 -------- Python Like You Mean It (PLYMI) 是一个免费学习Python和NumPy基础的在线资源,其旨在帮助读者熟练地使用Python。本资源主要讨论的Python特征侧重于对科学应用感兴趣的读者(如数据分析,机器学习,数字相关工作,等等)。 我(作者)对这个资源的定位是一个一站式,零基础的学习Python核心内容的轻量教程。读者会首先学习Python是什么以及安装Python具体意味着什么,且在最后带着对这个语言的核心内容和它的旗舰数字处理模组NumPy的理解离开。我也会注重提供一些常见任务的“最佳做法“。本文使用的Python为写作时的最新版本(3.8)。 这不是什么 ---------- 这绝对不是一个全面的Python教程。仅仅读完全文并不会让你成为一个准备充足的Python开发人员,但本文旨在帮助读者打造一个坚固的基础来帮助你在之后轻松地学习这里没有讨论的话题。 这同时也不是一个很深入的“Python数据科学应用”的资源。这并不会教你如何使用机器学习或者如sci-kit learn和Pandas的数据分析模组。虽然如此,NumPy的重要性之高使得其对别的所有常见的的科学相关的Python模组(如sci-kit,TensorFlow,PyTorch,Pandas)都有着很深远的影响。本文的NumPy内容会为之后使用任何这些模组奠好基石。 那Python书籍呢? ---------------- 书籍和博客文章在很多情况下是有用的。我个人的意见是,很多编程书籍为了追求完整性导致内容太过复杂冗长;读者难以在好几百页的书里分辨哪些话题最重要。其次,像PLYMI这样的资源作为电子文档更加合理;用户可以轻松地搜索话题,复制代码,并在手机端浏览时刻更新的最新内容。 Python不应该太简单 ------------------ Python是一门相对而言比较简单的语言;编写能用的代码并不困难。不幸的是,这意味着很多Python程序员仅仅按需学习,但却没有整体地学通这门语言。切记不要只懂得如何编写能用的低质量代码;这容易导致自满,停滞,和很多危险的代码。各位一定要学好学清楚。 PLYMI为GitHub开源项目 --------------------- 如果你对阅读本文有任何的问题,想要纠错,或者希望能够对本资源做贡献,请访问 `我们的GitHub `_。你需要创建一个GitHub账号才能发表帖子,但这个过程免费也简单。我们在这里强烈欢迎各位读者来一起讨论这个网站! 译者注:这里的GitHub链接是原文的,你也可以访问 `中文版的GitHub `_。译者会尽力在每次原文的GitHub更新之后去更新中文版,所以对文章有问题可以直接去英文版的GitHub上,对翻译有问题可以去中文版的GitHub。 贡献者 ------ 一下这些人对PLYMI有着显著的贡献。他们提供了练习题和答案以及有价值的建议: - Alex Ding (GitHub:`@alexding123 `_) - AJ Federici (GitHub:`@Federici `_) - Annabelle Lew (GitHub:`@AnnabelleLew `_) - Petar Griggs (GitHub:`@petarmhg `_) - Sam Carpenter (GitHub:`@HardBoiled800 `_) 关于作者 -------- 我刚开始学习使用Python的时候是为了我研究生时的物理实验。当时我的Python使用差得无可救药。幸运的是,一个实验室里更加熟悉Python的同事点醒了我,让我理解了我的代码和工作流程有多糟糕。他指向了一些工具,代码风格指南,和说明文档来帮助我提升编程水平(我认为本资源对当年的我会是一个巨大的帮助)。如今我已经使用了Python至少六年,并比较仔细地了解着这门语言的新特征和变化。现在我在做机器学习的研究,也作为一名核心人员开发过一个机器学习的模组。我很喜欢教书,所以做这个这个项目也算是一种享受。 .. toctree:: :maxdepth: 2 :caption: 目录: intro.rst module_1.rst module_2.rst module_2_problems.rst module_3.rst module_3_problems.rst module_4.rst module_5.rst 索引和目录 ========== * :ref:`genindex` * :ref:`modindex` * :ref:`search`