专栏名称: AI科技大本营
迎来到AI科技大本营。这里汇集了优秀的AI学习者,技术大咖和产业领袖;提供接地气的实战课程。在这里和优秀的人一起成长。
目录
51好读  ›  专栏  ›  AI科技大本营

新手入门Python,值得推荐的优质资源 | GitHub Top 45

AI科技大本营  · 公众号  · AI  · 2018-02-02 11:58

正文

图片来源:edureka.co


翻译 | 林椿眄

编辑 | Donna


[导读]热门资源博客 Mybridge AI 比较了18000个关于Python的项目,并从中精选出45个最具竞争力的项目。我们进行了翻译,在此一并送上。


这份清单中包括了各不相同的20个主题,以及一些资深程序员分享使用Python的经验,值得收藏。Mybridge AI 的排名结合了内部机器评估的内容质量和各种人为因素,包括阅读次数和阅读时长等。


对于Python的初学者,我们推荐以下这些课程:


REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专业的 REST AP[12,602个推荐,4.6 / 5星]


  • 链接:

  • https://www.udemy.com/rest-api-flask-and-python/


算法交易:用于财务分析和算法交易的Python,主要学习包括numpy,pandas,matplotlib,quantopian,finance [8,077个推荐,4.6 / 5星]


  • 链接:

  • https://www.udemy.com/python-for-finance-and-trading-algorithms/


年度开源Python项目 [平均4,078星]


  • 链接:

  • https://medium.mybridge.co/30-amazing-python-projects-for-the-past-year-v-2018-9c310b04cdb3


机器学习年度最佳文章


  • 链接:

  • https://medium.mybridge.co/learn-to-build-a-machine-learning-application-from-top-articles-of-2017-cdd5638453fc



Python算法


1. 回顾 Python 交互式编码中所要面对的挑战 (算法和数据结构)


本文对算法编码和数据结构中的问题提出了简单易懂又切实可行的方案。


  • 作者:

  • Donne Martin;[github-11811星]

  • 链接:

  • https://github.com/donnemartin/interactive-coding-challenges


2. Python中算法和数据结构的最小样本


如何让Python中的数据结构和算法最小、最干净?


  • 作者:

  • keon;[github-10271星]

  • 链接:

  • https://github.com/keon/algorithms


3. 最重要的Python算法--Pygorithm


Pygorithm是一个纯Python风格编写的模块,通过导入所需的算法,获得相应的代码、时间复杂性等。这是一个开始学习Python编程的好方法,能够帮助初学者学习并实现Python中所有算法。


  • 作者:

  • Satwik Kansal;[github-3156星]

  • 链接:

  • http://pygorithm.readthedocs.io/en/latest/



Python综合指南


4. 一个有趣又鲜为人知的Python代码片段集合—wtfPython


  • 作者:

  • Satwikkansal;[github-4,933星]

  • 链接:

  • https://github.com/satwikkansal/wtfPython



Python的脚本结构


5. 一个关于如何从Python脚本到打包项目的标准化指南


  • 作者:Courtesy of Vicki

  • 链接:http://veekaybee.github.io/2017/09/26/python-packaging



Python中的列表


6. Python列表生成器的教程


在这份教程中,你将能够学习到如何在Python中有效地使用列表生成器来创建列表,替换(嵌套) for循环以及使用 map(), filter(), reduce() 函数等。


文章首先简单回顾了 Python 中列表的基本概念,并与Python中其他的数据结构进行比较。接着讲解了列表生成器的学习。文章还讲解了 Python 列表背后的数学知识,创建列表生成器的方法,以及如何在 for 循环或 lambda 隐函数中重写它们。


  • 作者:Karlijn Willems

  • 链接:https://www.datacamp.com/community/tutorials/python-list-comprehension



Python中的类


7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类


Dunker是Python中的一种特殊方法,通过双下划线开始和结束的形式存在,例如__init__来丰富类的预定义方法。


  • 作者:Dan Bader

  • 链接:https://dbader.org/blog/python-dunder-methods



Python中的网页抓取


8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析


你可以通过这篇文章学习到网页爬取知识,并用于实践中。


  • 作者:ScrapingAuthority

  • 链接:http://www.scrapingauthority.com/python-scrapy-mysql-and-matplotlib-to-gain-web-data-insights/


9. 高级的网页抓取教程:绕过“403禁止”,验证码等问题


  • 作者:Evan Sangaline

  • 链接:http://sangaline.com/post/advanced-web-scraping-tutorial/


10. 掌握Python的网页抓取技巧来获取你所需要的数据


  • 作者:Lauren Glass 和 Hackernoon

  • 链接:https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88



Python中的自动化操作


11. 如何使用Twilio、Python和Google自动化婚礼的进程


  • 作者:Thomas Curtis

  • 链接:https://www.twilio.com/blog/2017/04/wedding-at-scale-how-i-used-twilio-python-and-google-to-automate-my-wedding.html


12. 如何用Python在Medium上找到有趣的人


  • 作者:Radu Raicea 和 freeCodeCamp。

  • 链接:https://medium.freecodecamp.org/how-i-used-python-to-find-interesting-people-on-medium-be9261b924b0



Python中的Bot


13. 制作Reddit+Facebook的信息箱


  • 作者:

  • Yasoob Khalid

  • 链接:

  • https://pythontips.com/2017/04/13/making-a-reddit-facebook-messenger-bot/


14. 我在Instagram上用Python写的开源机器人 (让我拥有了2500个粉丝,所花的服务器成本只有5美元)


  • 作者:

  • TimG

  • 链接:

  • https://medium.freecodecamp.org/my-open-source-instagram-bot-got-me-2-500-real-followers-for-5-in-server-costs-e40491358340



Python中的电子表格


15. 权威指南:Python的Excel教程


通过这个教程,你可以了解如何使用Python读取和导入Excel文件,如何将数据写入这些电子表格。


  • 作者:

  • Karlijn Willems

  • 链接:

  • https://www.datacamp.com/community/tutorials/python-excel-tutorial


16. Python和Googgle电子表格


  • 作者:

  • Brent Schooley

  • 链接:

  • https://www.youtube.com/watch?v=vISRn5qFrkM



Python中的金融应用


17.  Python中的金融:算法交易


这是一份Python与金融应用的教程,在此你能学习到算法交易的基本知识及相关内容。


  • 作者:

  • Karlijn Willems

  • 链接:

  • https://www.datacamp.com/community/tutorials/finance-python-trading


18. Python 中的金融教程—股票价格及相关数据介绍


  • 作者:

  • Harrison Kinsley

  • 链接:

  • https://www.youtube.com/watch?v=2BrpKpWwT2A


19. 用 Python 分析加密货币市场


比特币市场是如何表现?加密货币价值突然出现高峰和低谷的原因是什么?不同altcoins市场是不可分割的或基本独立的? 我们如何预测接下来会发生什么?


这篇文章将简单地介绍如何使用Python来分析加密货币。文章通过一个简单的Python脚本来检索,分析和可视化不同加密货币上的数据。在这个过程中,文章还将揭示这些波动剧烈的市场行为以及一个有趣的演变趋势。


  • 作者:

  • Patrick Triest

  • 链接:

  • https://blog.patricktriest.com/analyzing-cryptocurrencies-python/



Python中的区块链


20. 学习并构建一个区块链


毫无疑问,区块链这项新颖的技术是计算的奇迹。区块链技术的出现引发了新的全数字货币,如比特币和莱特币,而这些货币并非由中央当局发行或管理。区块链也以Ethereum这样的技术形式革命化了分布式计算,并引入了智能合约等有趣的概念。


这篇文章将会帮助你学习并理解区块链的工作原理。通过这篇教程,你将学习到一个功能强大的区块链,并掌握它们的工作流程。


  • 作者:

  • Daniel van Flymen 和 Hackernoon

  • 链接:

  • https://hackernoon.com/learn-blockchains-by-building-one-117428612f46


21. 如何构建一个最小的区块链


本文将用少于50行的代码 (Python2) 来创建一个最简单、最小的区块链。


  • 作者:

  • Gerald Nash

  • 链接:

  • https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b



Python中的视频合成


22. 用Python构建一个视频合成器


视频合成器是利用音频输入来创建视觉信号的设备,自上世纪60年代以来,已有很长的历史。


这篇文章将用Python编写一个基本的视频合成器,并使用aubio进行Onset目标检测。


  • 作者:

  • Kirk Kaiser

  • 链接:

  • https://www.makeartwithpython.com/blog/video-synthesizer-in-python/



Python的性能


23. 用Python处理每秒100万个请求


用Python每秒能够达到100万个请求吗?为了节省服务器价格,最近很多公司正在从Python向其他编程语言中迁移。但实际并不需要。


Python社区最近在性能提升方面做了很多工作。CPython 3.6通过新的字典提高了整体解释器的性能。由于引入了更快的调用约定和字典查找缓存,CPython 3.7将会更快。


对于数字处理任务,你可以使用PyPy进行代码编译。你还可以运行NumPy的测试套件,该测试套件现在已经改进了Python与C语言扩展的整体兼容性。在随后的更新版本中,PyPy预计将与Python 3.5兼容。


  • 作者:

  • Paweł Piotr Przeradowski。

  • 链接:

  • https://medium.freecodecamp.org/million-requests-per-second-with-python-95c137af319


24. “Python很慢,但我不在乎”


这篇文章将介绍一些关于Python中asyncio的内容,并讨论有关Python速度的问题。


  • 作者:

  • Nick Humrich

  • 链接:

  • https://hackernoon.com/yes-python-is-slow-and-i-dont-care-13763980b5a1


25. Python中的缓存:如何缓存函数的结果


文章将介绍一种快捷的方法来加速Python记忆代码。你将看到何时以及如何运用Python记忆代码。记忆代码优化你的程序,在某些情况下会加速你的代码运行。


  • 链接:

  • https://dbader.org/blog/python-memoization



Python中的Django框架


26. 七步骤带你完整地学习Django


Django是用Python编写的一个Web框架。这篇文章是介绍Django基础知识的系列教程,共分为七个部分,将分别从安装,准备开发环境,模型,视图,模板,URL到更高级的主题(如迁移,测试和部署)出发,详细探讨所有的基本概念。


  • 作者:

  • Vitor Freitas

  • 链接:

  • https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html


27. 使用Django构建REST API的测试驱动方法:第一部分


这篇文章将介绍如何利用Django来构建一个REST API的测试驱动,并详细介绍了每个步骤。


  • 作者:

  • Jee Githinji Gikera 和 Scotch Development

  • 链接:

  • https://scotch.io/tutorials/build-a-rest-api-with-django-a-test-driven-approach-part-1



Python中的Flake


28. OI’List规则


这篇博文中我们将介绍 Flake8(pyflakes,pycodestyle和mccabe)中的每个规则及相对应的示例。


  • 链接:

  • https://lintlyci.github.io/Flake8Rules/


29.  使用Python和Flask开发RESTful API


本文包括以下几部分:为什么用Python;什么是Flask;引导Flask应用程序

用Flask创建一个RESTful端点;用Python类映射模型;用Marshmallow进行序列化和反序列化对象;Dockerizing Flask应用程序;用Auth0保护Python API


  • 作者:

  • Bruno Krebs

  • 链接:

  • https://auth0.com/blog/developing-restful-apis-with-python-and-flask/



Python中的Numpy


30.  从Python到Numpy


本文通过一种新颖的方式,向量化地集中讲解了如何从Python迁移到Numpy的学习。另外,本文还包括一些很少提到的使用技巧。


  • 链接:

  • http://www.labri.fr/perso/nrougier/from-python-to-numpy/


31. 探索Python每种工具包的行长度


本文探索了Python的流行包,如NumPy,SciPy,Pandas,Scikit-Learn,Matplotlib,AstroPy等。


  • 作者:

  • Jake VanderPlas

  • 链接:

  • http://jakevdp.github.io/blog/2017/11/09/exploring-line-lengths-in-python-packages/



Python中的NashPy


32.  NashPy教程—建立并找到一种简单的游戏平衡


博弈论是用来研究理性主体之间的战略互动:当双方试图采用对各自最有益的方式来完成某件事情时,对双方互动行为的研究。这篇文章将采用Python中的NashPy来研究这种双方博弈的互动行为。


  • 链接:

  • http://nashpy.readthedocs.io/en/latest/tutorial/



Python中的马尔可夫过程


33.  用Python模拟Chutes和Ladders


这篇文章将通过Chutes和Ladders游戏的例子,建立模型并阐述马尔可夫过程的原理。整个分析过程附有Python源码,感兴趣的读者可以尝试一下。


  • 作者:

  • Jake VanderPlas

  • 链接:

  • http://jakevdp.github.io/blog/2017/12/18/simulating-chutes-and-ladders/



Python中的数据分析


34.  用Python分析美国联邦政治行为


科学,政治,个人意见和社会政策的交集可能呈现相当复杂的情况。思想和学科的交汇点通常充斥着有争议的观点和基于信仰但缺乏经验证据的议程。这时,数据科学在这方面就显得特别重要,因为它提供了一种以实际事实为基础的考察世界的方法,能够深入了解我们今天所面临的一些最重要的问题。


这篇文章我们将用Python来分析美国联邦政府的一些政治行为,深入了解政治背后所隐藏的故事。


  • 作者:

  • Patrick Triest

  • 链接:

  • https://blog.patricktriest.com/police-data-python/


35. 用Python分析1000+的希腊葡萄酒


  • 作者:

  • Florents Tselai

  • 链接:

  • https://tselai.com/greek-wines-analysis.html


36. 如何用 Python 生成 FiveThirtyEight 图


这篇文章将用Python的matplotlib和pandas,来学习并查看FiveThirtyEight(FTE)可视化的核心部分,并教会你使用Python来为自己的数据进行可视化。


  • 作者:

  • Josh Devlin

  • 链接:

  • https://www.dataquest.io/blog/making-538-plots/、


37. 使用 Apache Spark 和 Python 为8000万 Amazon 产品进行评价打分


作者编写了一个简单的Python脚本,将亚马逊产品评论数据集中的每类评分数据进行整合,并对这些Amazon产品评论数据进行分析打分,以发现用户的喜好。


  • 作者:

  • Max Woolf

  • 链接:

  • http://minimaxir.com/2017/01/amazon-spark/


38. 使用Python进行地理空间分析


  • 作者:

  • Matthew Rocklin

  • 链接:

  • https://matthewrocklin.com/blog//work/2017/09/21/accelerating-geopandas-1


39. 星球:从太空中了解亚马逊,来自Kaggle头奖获奖者的采访


文章采访了Kaggle的“星球:从太空中了解亚马逊”竞赛的获奖者,内容包括他如何使用11个微调的卷积神经网络,标签关联的结构模型,以及如何避免过拟合现象等。


  • 作者:

  • Edwin Chen

  • 链接:

  • http://blog.kaggle.com/2017/10/17/planet-understanding-the-amazon-from-space-1st-place-winners-interview/



Python 入门


40. 从零开始学习Python


Python的创建者Guido van Rossum曾说过,“Python是一个高级编程语言,其核心设计理念是让代码具有高度的可读性和简单的语法,程序员可以用几行代码表达自己的想法。”


  • 作者:

  • TK

  • 链接:

  • https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567


41.  重要的Python练习清单


这篇文章列出了一些重要的练习项目,包括Python语言本身和标准库的练习。文章中还有Python中不同主题模块的知识。


  • 作者:

  • Ynon Perek

  • 链接:

  • https://www.ynonperek.com/2017/09/21/python-exercises/


42.  API的设计原则:先思考再编码


API是定义应用程序接口的通用术语,换句话说,就是用户(人或机器)与程序的交互接口。在Web开发世界中,API通常是一个网站,其中包含一系列端点,用于响应客户端请求和结构化文本数据。这篇文章将告诉你为什么以及如何设计一个正确的API,如何将自己的思想植入到API的设计中来构建属于你自己的API。


  • 作者:

  • Jonatas Baldin

  • 链接:

  • https://www.ckl.io/blog/api-design-think-first-code-later


43. Python机器学习指南


本文将通过清晰地解释和有效的练习,来帮助你深度理解相关的机器学习算法。


  • 作者:

  • Conor Dewey

  • 链接:

  • https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378


44.  如何学习Python编程:6位经验丰富的Python开发者分享了他们的观点


对于当下热门的Python语言,有太多的教程、书籍、视频和博客文章资源,然而如此多的冗余资料,你该如何选择最佳的方式开始你的Python学习之旅呢?这篇文章列出了6位Python专家分享的学习经验,相信这对于迷茫中的你来说,将受益匪浅。


  • 链接:

  • https://coolpythoncodes.com/best-way-learn-python-programming


45. 如何用Python实现强大的数据分析


Python是数据分析的最佳编程语言,这得益于它自带的依赖库。依赖库能够存储,操纵数据,并从数据中获得核心信息,因而在数据科学领域被广泛使用并展现出强大的功能。本文介绍了Python在数据科学领域的应用历史以及最新发展。


  • 作者:

  • Jake VanderPlas

  • 链接:

  • https://www.youtube.com/watch?v=9by46AAqz70


原文链接:

https://medium.mybridge.co/python-top-45-tutorials-for-the-past-year-v-2018-1b4d46c9e857

Github链接:

https://github.com/Mybridge/learn-python



招聘

新一年,AI科技大本营的目标更加明确,有更多的想法需要落地,不过目前对于营长来说是“现实跟不上灵魂的脚步”,因为缺人~~


所以,AI科技大本营要壮大队伍了,现招聘AI记者和资深编译,有意者请将简历投至:[email protected],期待你的加入!


如果你暂时不能加入营长的队伍,也欢迎与营长分享你的精彩文章,投稿邮箱:[email protected]


如果以上两者你都参与不了,那就加入AI科技大本营的读者群,成为营长的真爱粉儿吧!后台回复:读者群,加入营长的大家庭,添加营长请备注自己的姓名,研究方向,营长邀请你入群。




☟☟☟点击 | 阅读原文 | 查看更多精彩内容