随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中。为什么这么多人学 Python ?我要喊出那句话了:“人生苦短,我用 Python!”,正是因为语法简单、容易学习,所以 Python 深受大家喜爱。(Python!Python!Python!)
Python 初学者在迈过安装编程环境和基本语法的门槛 ,准备大展身手的时候,可能突然就会进入迷茫期:不知道做些什么、再学些什么。然后对编程的兴趣就会慢慢消退,找不到坚持下去的理由,从而慢慢淡忘之前学会的编程知识。所以找到自己感兴趣、能够跟着动手和学习的 Python 项目是特别重要的,这样才能把学会的 Python 知识用起来,不断地提高。最终从新手晋升为高手!
兴趣是最好的老师,HelloGitHub 就是帮你找到编程的乐趣。
这里是 HelloGitHub 的《GitHub 上适合新手的开源项目》系列,共计 5 篇文章:
- C++ 篇
- Python 篇
- Go 篇
- Java 篇
- JavaScript 篇
本期是 Python 篇 ,下面我将从 HG 推荐过的 197 个 Python 开源项目中,精心筛选出 7 个 最适合 Python 新手学习和把玩的开源项目。这些项目包括:
- 从零开始学也不用愁的 Python 教程
- 让你惊呼 Python 还可以这样用的秘籍(大开眼界)
- 轻轻松松就能跑起来(满满成就感)
- 好玩有趣又能学到东西的项目(编程的乐趣)
我会尽力做到涵盖每一个刚入门阶段在找开源项目的小伙伴。声明:
- 不纠结项目是 Python2 还是 3
- 我最怕推荐的项目过多让读者“挑花眼”导致都没学好,所以就选了 7 个项目
- 欢迎吐槽和反馈,不定期更新。所以本文暂且称之为 Python 篇 1.0 :joy:
注意:为了方便大家学习,我把这些项目整理好放到网盘上供大家下载学习(地址在最下面),另外大家也可以直接 clone
项目。
但不管以哪种方式下载,我都希望大家可以去给这些 GitHub 上的开源项目点一个 star :sparkles:,让作者感受到大家的支持和喜爱。我在这里提前替作者感谢大家了,爱你们呦~:heart:
:car: 发动引擎~
一、教练,我想学 Python
车上有座,坐满就发车。
1.1 有编程基础:explore-python
- 项目地址: https://github.com/ethan-funny/explore-python
- 在线阅读: https://funhacks.gitbooks.io/explore-python/content/
《Python 之旅》这本开源书虽然是入门级但并不是“保姆级”,如果你觉得手把手教你安装 Python 之类是浪费时间,那么我推荐 explore-python 这个项目。所以,如果之前学过其它编程语言,自己能解决安装环境等问题。那你可能就会和我一样喜欢它:
- 大纲:直观的脑图展示,结构清晰完整,讲的都是重点和常用知识
- 内容:代码多于文字,运行示例代码帮助领悟+简短文字点拨,可能代码写的久了,看代码感觉比文字舒服
- 排版:舒服+讲究,写给程序员的 Python 书籍
1.2 没有编程基础:Python-100-Days
- 项目地址: https://github.com/jackfrued/Python-100-Days
Python-100-Days 就是我上面说的“保姆级”教程,他的内容面面俱到包括了 Python 开发的方方面面,手把手地一步步的讲 Python 技术。面向没有编程基础想学 Python 的人群,但它不是只教会你 Python 基本语法就结束了。还有呐:Python 进阶知识、Linux 基础知识、数据库知识、Web 基础和框架、爬虫和数据分析、机器学习等。《真·一个项目学会 Python》:joy:
说无妨:Python 入门的教程都很简单,但是有毅力能坚持读完和有耐心动手敲完每一个例子人不简单。
二、大神,我想学好 Python
车速太快,请坐稳扶好。
2.1 先查收这份指南:python-guide
- 项目地址: https://github.com/realpython/python-guide
- 在线阅读: https://pythonguidecn.readthedocs.io/zh/latest/
首先感谢 译者们 的辛勤付出,降低了《Python 最佳实践指南》这份指南的阅读门槛。如果你想把 Python 玩好,但又不知道该从哪些方面着手提高,那这份指南一定可以帮你解决困惑。该指南介绍了以下几个方面:开发环境、常用工具、代码风格、项目结构、使用场景等,提高 Python 相关的综合素养:用的优雅,玩的溜。这个项目不管是作者、贡献者还是译者们,都是 Python 社区的“老司机”,老司机带你飞的机会来了!
2.2 再翻烂这本秘籍:python3-cookbook
- 项目地址: https://github.com/yidao620c/python3-cookbook
- 在线阅读: https://python3-cookbook.readthedocs.io/zh_CN/latest/
如果说每一个 Python 问题或需求就是一次进攻的话,那《Python Cookbook》就是破解进攻招式的武功秘籍。当你对用 Python 处理一个问题没有思路或者感觉可能会有更好的方法和写法时,翻翻这本书吧。不信你就试试躺着随便翻一页看,看着看着你就能坐起来,并且嘴里念叨着:“xxx,还能这么写?我得去试试”。别笑,真事儿我干过好几次了。
** 说无妨: ** 不是买两本书、看几个开源项目简介就可以进阶,只有日积月累才可以从量变到质变,完成进阶。这个过程没有办法手把手地教,因为没人可以一直给你讲以后你会遇到的所有问题。所以,你只能抓住每一个可以提高机会和知识点,像救命稻草一样拼命的抓紧,把知识点掰开揉碎的融会贯通。
三、老师,我想和你一起玩 Python
这车真帅,我也想坐上去试试。
3.1 玩一个不过瘾:free-python-games
- 项目地址: https://github.com/grantjenks/free-python-games
真·入门级 Python 游戏集合库。都是些简单的小游戏,比如:贪吃蛇、迷宫、Pong、猜字等,运行简单(有些不需要安装依赖)、代码少且易读。用游戏开启的你 Python 项目之旅,玩完再学源码,其乐无穷啊。源码都在 freegames
目录下,每一个 py
文件就是一个游戏,比如 guess.py
就是猜字游戏的源码。安装运行的命令如下:
- pip install freegames
- python -m freegames.maze # freegames.游戏名
3.2 Windows 下的按键精灵工具:KeymouseGo
- 项目地址: https://github.com/taojy123/KeymouseGo
Python 实现的精简绿色版按键精灵。记录用户的鼠标、键盘操作,自动执行之前记录的操作,可设定执行的次数。在进行某些简单、单调、重复的操作时,使用该软件可以十分省事儿。只需要录制一遍,剩下的交给 KeymouseGo 来做就可以了。
3.3 Linux 下优雅的 HTTP 请求工具:httpstat
- 项目地址: https://github.com/reorx/httpstat
一个更加漂亮展示 HTTP 请求状态和耗时的 Python 命令行工具。它美化了 curl
的结果,使得结果更加可读和直观,还可以显示 HTTP 请求的每个过程的耗时。最主要它无依赖、兼容 Python3、就一个文件才 300 多行代码,非常适合新手阅读源码。效果如下图:
上面这些开源项目很有趣,而且运行简单,不会让你卡在运行代码这一步。最后分享下我运行 Python 开源项目的 三板斧 招式:
- 安装依赖:
pip install -r requirements.txt
- 启动文件:通常为
main
、run
、项目名的同名文件
的py
文件 - 运行出错:拿着异常信息去项目 issues 区搜,没有找到就去问搜索引擎
说无妨:把项目运行起来不是终极目的,要阅读源码然后按照自己的想法修改代码最后增加或修改功能(提 PR),这才能算是玩好了。
四、最后
看完这篇文章,如果只记住有哪些适合新手学习的开源项目,那不会让你有任何技术上的提升,就算看十遍也不会提高。只有去看、去用、去学文中推荐的项目,才会提高技术。