授权自AI科技大本营(ID:rgznai100)
本文共4157字,建议阅读7分钟。
本文为大家挑选了适合初学的45个Python的优质项目。
热门资源博客 Mybridge AI 比较了18000个关于Python的项目,并从中精选出45个最具竞争力的项目。我们进行了翻译,在此一并送上。
这份清单中包括了各不相同的20个主题,以及一些资深程序员分享使用Python的经验,值得收藏。Mybridge AI 的排名结合了内部机器评估的内容质量和各种人为因素,包括阅读次数和阅读时长等。
对于Python的初学者,我们推荐以下这些课程:
REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专业的 REST API
https://www.udemy.com/rest-api-flask-and-python/
算法交易:用于财务分析和算法交易的Python,主要学习包括numpy,pandas,matplotlib,quantopian,finance
https://www.udemy.com/python-for-finance-and-trading-algorithms/
年度开源Python项目
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 交互式编码中所要面对的挑战 (算法和数据结构)
本文对算法编码和数据结构中的问题提出了简单易懂又切实可行的方案。
https://github.com/donnemartin/interactive-coding-challenges
2. Python中算法和数据结构的最小样本
如何让Python中的数据结构和算法最小、最干净?
https://github.com/keon/algorithms
3. 最重要的Python算法--Pygorithm
Pygorithm是一个纯Python风格编写的模块,通过导入所需的算法,获得相应的代码、时间复杂性等。这是一个开始学习Python编程的好方法,能够帮助初学者学习并实现Python中所有算法。
http://pygorithm.readthedocs.io/en/latest/
Python综合指南
4. 一个有趣又鲜为人知的Python代码片段集合—wtfPython
https://github.com/satwikkansal/wtfPython
Python的脚本结构
5. 一个关于如何从Python脚本到打包项目的标准化指南
http://veekaybee.github.io/2017/09/26/python-packaging
Python中的列表
6. Python列表生成器的教程
在这份教程中,你将能够学习到如何在Python中有效地使用列表生成器来创建列表,替换(嵌套) for循环以及使用 map(), filter(), reduce() 函数等。
文章首先简单回顾了 Python 中列表的基本概念,并与Python中其他的数据结构进行比较。接着讲解了列表生成器的学习。文章还讲解了 Python 列表背后的数学知识,创建列表生成器的方法,以及如何在 for 循环或 lambda 隐函数中重写它们。
https://www.datacamp.com/community/tutorials/python-list-comprehension
Python中的类
7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类
Dunker是Python中的一种特殊方法,通过双下划线开始和结束的形式存在,例如__init__来丰富类的预定义方法。
https://dbader.org/blog/python-dunder-methods
Python中的网页抓取
8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析
你可以通过这篇文章学习到网页爬取知识,并用于实践中。
http://www.scrapingauthority.com/python-scrapy-mysql-and-matplotlib-to-gain-web-data-insights/
9. 高级的网页抓取教程:绕过“403禁止”,验证码等问题
http://sangaline.com/post/advanced-web-scraping-tutorial/
10. 掌握Python的网页抓取技巧来获取你所需要的数据
https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88
Python中的自动化操作
11. 如何使用Twilio、Python和Google自动化婚礼的进程
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上找到有趣的人
https://medium.freecodecamp.org/how-i-used-python-to-find-interesting-people-on-medium-be9261b924b0
Python中的Bot
13. 制作Reddit+Facebook的信息箱
https://pythontips.com/2017/04/13/making-a-reddit-facebook-messenger-bot/
14. 我在Instagram上用Python写的开源机器人 (让我拥有了2500个粉丝,所花的服务器成本只有5美元)
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文件,如何将数据写入这些电子表格。
https://www.datacamp.com/community/tutorials/python-excel-tutorial
16. Python和Googgle电子表格
https://www.youtube.com/watch?v=vISRn5qFrkM
Python中的金融应用
17. Python中的金融:算法交易
这是一份Python与金融应用的教程,在此你能学习到算法交易的基本知识及相关内容。
https://www.datacamp.com/community/tutorials/finance-python-trading
18. Python 中的金融教程—股票价格及相关数据介绍
https://www.youtube.com/watch?v=2BrpKpWwT2A
19. 用 Python 分析加密货币市场
比特币市场是如何表现?加密货币价值突然出现高峰和低谷的原因是什么?不同altcoins市场是不可分割的或基本独立的? 我们如何预测接下来会发生什么?
这篇文章将简单地介绍如何使用Python来分析加密货币。文章通过一个简单的Python脚本来检索,分析和可视化不同加密货币上的数据。在这个过程中,文章还将揭示这些波动剧烈的市场行为以及一个有趣的演变趋势。
https://blog.patricktriest.com/analyzing-cryptocurrencies-python/
Python中的区块链
20. 学习并构建一个区块链
毫无疑问,区块链这项新颖的技术是计算的奇迹。区块链技术的出现引发了新的全数字货币,如比特币和莱特币,而这些货币并非由中央当局发行或管理。区块链也以Ethereum这样的技术形式革命化了分布式计算,并引入了智能合约等有趣的概念。
这篇文章将会帮助你学习并理解区块链的工作原理。通过这篇教程,你将学习到一个功能强大的区块链,并掌握它们的工作流程。
https://hackernoon.com/learn-blockchains-by-building-one-117428612f46
21. 如何构建一个最小的区块链
本文将用少于50行的代码 (Python2) 来创建一个最简单、最小的区块链。
https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b
Python中的视频合成
22. 用Python构建一个视频合成器
视频合成器是利用音频输入来创建视觉信号的设备,自上世纪60年代以来,已有很长的历史。
这篇文章将用Python编写一个基本的视频合成器,并使用aubio进行Onset目标检测。
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兼容。
https://medium.freecodecamp.org/million-requests-per-second-with-python-95c137af319
24. “Python很慢,但我不在乎”
这篇文章将介绍一些关于Python中asyncio的内容,并讨论有关Python速度的问题。
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到更高级的主题(如迁移,测试和部署)出发,详细探讨所有的基本概念。
https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html
27. 使用Django构建REST API的测试驱动方法:第一部分
这篇文章将介绍如何利用Django来构建一个REST API的测试驱动,并详细介绍了每个步骤。
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
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等。
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源码,感兴趣的读者可以尝试一下。
http://jakevdp.github.io/blog/2017/12/18/simulating-chutes-and-ladders/
Python中的数据分析
34. 用Python分析美国联邦政治行为
科学,政治,个人意见和社会政策的交集可能呈现相当复杂的情况。思想和学科的交汇点通常充斥着有争议的观点和基于信仰但缺乏经验证据的议程。这时,数据科学在这方面就显得特别重要,因为它提供了一种以实际事实为基础的考察世界的方法,能够深入了解我们今天所面临的一些最重要的问题。
这篇文章我们将用Python来分析美国联邦政府的一些政治行为,深入了解政治背后所隐藏的故事。
https://blog.patricktriest.com/police-data-python/
35. 用Python分析1000+的希腊葡萄酒
https://tselai.com/greek-wines-analysis.html
36. 如何用Python生成FiveThirtyEight图
这篇文章将用Python的matplotlib和pandas,来学习并查看FiveThirtyEight(FTE)可视化的核心部分,并教会你使用Python来为自己的数据进行可视化。
https://www.dataquest.io/blog/making-538-plots/
37. 使用 Apache Spark 和 Python 为8000万 Amazon 产品进行评价打分
作者编写了一个简单的Python脚本,将亚马逊产品评论数据集中的每类评分数据进行整合,并对这些Amazon产品评论数据进行分析打分,以发现用户的喜好。
http://minimaxir.com/2017/01/amazon-spark/
38. 使用Python进行地理空间分析
https://matthewrocklin.com/blog//work/2017/09/21/accelerating-geopandas-1
39. 星球:从太空中了解亚马逊,来自Kaggle头奖获奖者的采访
文章采访了Kaggle的“星球:从太空中了解亚马逊”竞赛的获奖者,内容包括他如何使用11个微调的卷积神经网络,标签关联的结构模型,以及如何避免过拟合现象等。
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是一个高级编程语言,其核心设计理念是让代码具有高度的可读性和简单的语法,程序员可以用几行代码表达自己的想法。”
https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567
41. 重要的Python练习清单
这篇文章列出了一些重要的练习项目,包括Python语言本身和标准库的练习。文章中还有Python中不同主题模块的知识。
https://www.ynonperek.com/2017/09/21/python-exercises/
42. API的设计原则:先思考再编码
API是定义应用程序接口的通用术语,换句话说,就是用户(人或机器)与程序的交互接口。在Web开发世界中,API通常是一个网站,其中包含一系列端点,用于响应客户端请求和结构化文本数据。这篇文章将告诉你为什么以及如何设计一个正确的API,如何将自己的思想植入到API的设计中来构建属于你自己的API。
https://www.ckl.io/blog/api-design-think-first-code-later
43. Python机器学习指南
本文将通过清晰地解释和有效的练习,来帮助你深度理解相关的机器学习算法。
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在数据科学领域的应用历史以及最新发展。
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