GitHub 上适合新手的开源项目(Python 篇)

削微寒 2020-11-09 10:49:27
项目 开源 github 新手 适合


作者:HelloGitHub-卤蛋

随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中。为什么这么多人学 Python ?我要喊出那句话了:“人生苦短,我用 Python!”,正是因为语法简单、容易学习,所以 Python 深受大家喜爱。(Python!Python!Python!)

Python 初学者在迈过安装编程环境和基本语法的门槛 ,准备大展身手的时候,可能突然就会进入迷茫期:不知道做些什么、再学些什么。然后对编程的兴趣就会慢慢消退,找不到坚持下去的理由,从而慢慢淡忘之前学会的编程知识。所以找到自己感兴趣、能够跟着动手和学习的 Python 项目是特别重要的,这样才能把学会的 Python 知识用起来,不断地提高。最终从新手晋升为高手!

兴趣是最好的老师,HelloGitHub 就是帮你找到编程的乐趣。

这里是 HelloGitHub 的《GitHub 上适合新手的开源项目》系列,共计 5 篇文章:

  1. C++ 篇
  2. Python 篇
  3. Go 篇
  4. Java 篇
  5. JavaScript 篇

本期是 Python 篇,下面我将从 HG 推荐过的 197 个 Python 开源项目中,精心筛选出 7 个最适合 Python 新手学习和把玩的开源项目。这些项目包括:

  • 从零开始学也不用愁的 Python 教程
  • 让你惊呼 Python 还可以这样用的秘籍(大开眼界)
  • 轻轻松松就能跑起来(满满成就感)
  • 好玩有趣又能学到东西的项目(编程的乐趣)

我会尽力做到涵盖每一个刚入门阶段在找开源项目的小伙伴。声明:

  • 不纠结项目是 Python2 还是 3
  • 我最怕推荐的项目过多让读者“挑花眼”导致都没学好,所以就选了 7 个项目
  • 欢迎吐槽和反馈,不定期更新。所以本文暂且称之为 Python 篇 1.0

注意: 为了方便大家学习,我把这些项目整理好放到网盘上供大家下载学习(地址在最下面),另外大家也可以直接 clone 项目。

但不管以哪种方式下载,我都希望大家可以去给这些 GitHub 上的开源项目点一个 star ,让作者感受到大家的支持和喜爱。我在这里提前替作者感谢大家了,爱你们呦~️

发动引擎~

一、教练,我想学 Python

车上有座,坐满就发车。

1.1 有编程基础:explore-python

《Python 之旅》这本开源书虽然是入门级但并不是“保姆级”,如果你觉得手把手教你安装 Python 之类是浪费时间,那么我推荐 explore-python 这个项目。所以,如果之前学过其它编程语言,自己能解决安装环境等问题。那你可能就会和我一样喜欢它:

  1. 大纲:直观的脑图展示,结构清晰完整,讲的都是重点和常用知识
  2. 内容:代码多于文字,运行示例代码帮助领悟+简短文字点拨,可能代码写的久了,看代码感觉比文字舒服
  3. 排版:舒服+讲究,写给程序员的 Python 书籍

1.2 没有编程基础:Python-100-Days

Python-100-Days 就是我上面说的“保姆级”教程,他的内容面面俱到包括了 Python 开发的方方面面,手把手地一步步的讲 Python 技术。面向没有编程基础想学 Python 的人群,但它不是只教会你 Python 基本语法就结束了。还有呐:Python 进阶知识、Linux 基础知识、数据库知识、Web 基础和框架、爬虫和数据分析、机器学习等。《真·一个项目学会 Python》


说无妨: Python 入门的教程都很简单,但是有毅力能坚持读完和有耐心动手敲完每一个例子人不简单。

二、大神,我想学好 Python

车速太快,请坐稳扶好。

2.1 先查收这份指南:python-guide

首先感谢译者们的辛勤付出,降低了《Python 最佳实践指南》这份指南的阅读门槛。如果你想把 Python 玩好,但又不知道该从哪些方面着手提高,那这份指南一定可以帮你解决困惑。该指南介绍了以下几个方面:开发环境、常用工具、代码风格、项目结构、使用场景等,提高 Python 相关的综合素养:用的优雅,玩的溜。这个项目不管是作者、贡献者还是译者们,都是 Python 社区的“老司机”,老司机带你飞的机会来了!

2.2 再翻烂这本秘籍:python3-cookbook

如果说每一个 Python 问题或需求就是一次进攻的话,那《Python Cookbook》就是破解进攻招式的武功秘籍。当你对用 Python 处理一个问题没有思路或者感觉可能会有更好的方法和写法时,翻翻这本书吧。不信你就试试躺着随便翻一页看,看着看着你就能坐起来,并且嘴里念叨着:“xxx,还能这么写?我得去试试”。别笑,真事儿我干过好几次了。


** 说无妨: ** 不是买两本书、看几个开源项目简介就可以进阶,只有日积月累才可以从量变到质变,完成进阶。这个过程没有办法手把手地教,因为没人可以一直给你讲以后你会遇到的所有问题。所以,你只能抓住每一个可以提高机会和知识点,像救命稻草一样拼命的抓紧,把知识点掰开揉碎的融会贯通。

三、老师,我想和你一起玩 Python

这车真帅,我也想坐上去试试。

3.1 玩一个不过瘾:free-python-games

真·入门级 Python 游戏集合库。都是些简单的小游戏,比如:贪吃蛇、迷宫、Pong、猜字等,运行简单(有些不需要安装依赖)、代码少且易读。用游戏开启的你 Python 项目之旅,玩完再学源码,其乐无穷啊。源码都在 freegames 目录下,每一个 py 文件就是一个游戏,比如 guess.py 就是猜字游戏的源码。安装运行的命令如下:

pip install freegames
python -m freegames.maze # freegames.游戏名

3.2 Windows 下的按键精灵工具:KeymouseGo

Python 实现的精简绿色版按键精灵。记录用户的鼠标、键盘操作,自动执行之前记录的操作,可设定执行的次数。在进行某些简单、单调、重复的操作时,使用该软件可以十分省事儿。只需要录制一遍,剩下的交给 KeymouseGo 来做就可以了。

3.3 Linux 下优雅的 HTTP 请求工具:httpstat

一个更加漂亮展示 HTTP 请求状态和耗时的 Python 命令行工具。它美化了 curl 的结果,使得结果更加可读和直观,还可以显示 HTTP 请求的每个过程的耗时。最主要它无依赖、兼容 Python3、就一个文件才 300 多行代码,非常适合新手阅读源码。效果如下图:

上面这些开源项目很有趣,而且运行简单,不会让你卡在运行代码这一步。最后分享下我运行 Python 开源项目的三板斧招式:

  • 安装依赖:pip install -r requirements.txt
  • 启动文件:通常为 mainrun项目名的同名文件py 文件
  • 运行出错:拿着异常信息去项目 issues 区搜,没有找到就去问搜索引擎

说无妨: 把项目运行起来不是终极目的,要阅读源码然后按照自己的想法修改代码最后增加或修改功能(提 PR),这才能算是玩好了。

四、最后

看完这篇文章,如果只记住有哪些适合新手学习的开源项目,那不会让你有任何技术上的提升,就算看十遍也不会提高。只有去看、去用、去学文中推荐的项目,才会提高技术。

新手入门 Python 简单,迷茫的进阶期长,持续关注 HelloGitHub 帮你找到编程的乐趣,找到坚持下去的理由和前进的方向。这里是 说无妨 的卤蛋:“欢迎给我留言告诉我你是否喜欢本文,或者批评和反馈我都会虚心接受,改不改...看心情。 ”

网盘链接: https://pan.baidu.com/s/1SX3GjqZPTWRvVkwUk1OXag 密码:2eev

如果你是在校大学生或研究生热爱编程、开源,喜欢讨论和学习技术相关的内容,那么来 HelloGitHub 的大学生开源俱乐部吧!你们的编程路才刚开始 HG 想陪你们走一段。加微信号:HelloGitHub (备注:学校和专业)。

版权声明
本文为[削微寒]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/xueweihan/p/13946410.html

  1. 利用Python爬虫获取招聘网站职位信息
  2. Using Python crawler to obtain job information of recruitment website
  3. Several highly rated Python libraries arrow, jsonpath, psutil and tenacity are recommended
  4. Python装饰器
  5. Python实现LDAP认证
  6. Python decorator
  7. Implementing LDAP authentication with Python
  8. Vscode configures Python development environment!
  9. In Python, how dare you say you can't log module? ️
  10. 我收藏的有关Python的电子书和资料
  11. python 中 lambda的一些tips
  12. python中字典的一些tips
  13. python 用生成器生成斐波那契数列
  14. python脚本转pyc踩了个坑。。。
  15. My collection of e-books and materials about Python
  16. Some tips of lambda in Python
  17. Some tips of dictionary in Python
  18. Using Python generator to generate Fibonacci sequence
  19. The conversion of Python script to PyC stepped on a pit...
  20. Python游戏开发,pygame模块,Python实现扫雷小游戏
  21. Python game development, pyGame module, python implementation of minesweeping games
  22. Python实用工具,email模块,Python实现邮件远程控制自己电脑
  23. Python utility, email module, python realizes mail remote control of its own computer
  24. 毫无头绪的自学Python,你可能连门槛都摸不到!【最佳学习路线】
  25. Python读取二进制文件代码方法解析
  26. Python字典的实现原理
  27. Without a clue, you may not even touch the threshold【 Best learning route]
  28. Parsing method of Python reading binary file code
  29. Implementation principle of Python dictionary
  30. You must know the function of pandas to parse JSON data - JSON_ normalize()
  31. Python实用案例,私人定制,Python自动化生成爱豆专属2021日历
  32. Python practical case, private customization, python automatic generation of Adu exclusive 2021 calendar
  33. 《Python实例》震惊了,用Python这么简单实现了聊天系统的脏话,广告检测
  34. "Python instance" was shocked and realized the dirty words and advertisement detection of the chat system in Python
  35. Convolutional neural network processing sequence for Python deep learning
  36. Python data structure and algorithm (1) -- enum type enum
  37. 超全大厂算法岗百问百答(推荐系统/机器学习/深度学习/C++/Spark/python)
  38. 【Python进阶】你真的明白NumPy中的ndarray吗?
  39. All questions and answers for algorithm posts of super large factories (recommended system / machine learning / deep learning / C + + / spark / Python)
  40. [advanced Python] do you really understand ndarray in numpy?
  41. 【Python进阶】Python进阶专栏栏主自述:不忘初心,砥砺前行
  42. [advanced Python] Python advanced column main readme: never forget the original intention and forge ahead
  43. python垃圾回收和缓存管理
  44. java调用Python程序
  45. java调用Python程序
  46. Python常用函数有哪些?Python基础入门课程
  47. Python garbage collection and cache management
  48. Java calling Python program
  49. Java calling Python program
  50. What functions are commonly used in Python? Introduction to Python Basics
  51. Python basic knowledge
  52. Anaconda5.2 安装 Python 库(MySQLdb)的方法
  53. Python实现对脑电数据情绪分析
  54. Anaconda 5.2 method of installing Python Library (mysqldb)
  55. Python implements emotion analysis of EEG data
  56. Master some advanced usage of Python in 30 seconds, which makes others envy it
  57. python爬取百度图片并对图片做一系列处理
  58. Python crawls Baidu pictures and does a series of processing on them
  59. python链接mysql数据库
  60. Python link MySQL database