Top 11 Github Repositories to Learn Python | by Claire D. Costa | Nov, 2020
If you’ve ever worked with software, you must be aware of the platform GitHub. For the uninitiated, GitHub is a lot more than just a place to host all your code. It’s a place that lets you collaborate with other developers and manage your code repositories online with a range of specialized tools that are designed to help keep chaos at bay.
For people interested in learning any programming language, GitHub can be a wonderful place to start or to take your skills to the next level. Read on to know about popular GitHub repositories to learn Python.
The Algorithms/Python repo is one of the most starred and forked Python GitHub repo on and there’s a good reason behind its popularity. Their repo contains algorithms and their implementation for over 35 categories of topics in Python, such as data structures, computer vision, linear algebra, neural networks, sorts, strings, to name a few. Do keep in mind that understanding these algorithms requires at least a beginner-level knowledge of Python, making this repo more suited to intermediate and advanced developers.
The Awesome Python repo is the second entry in our list of top GitHub Repos for learning Python to feature such crazy high statistics. The Awesome Python repo is a thoughtful yet enormous collection of Python frameworks, libraries, tools, and other handy resources. The repo has listed over 90 different categories for individual projects or topics including admin panels, data validations, computer vision, algorithms and design patterns, ChatOps tools, and so much more.
Moreover, the repo also provides links to useful books, newsletters, podcasts, and web series dedicated to making Python easier for everyone. If you work with Python, this repo deserves to be in your go-to list of Python resources just for the sheer number of all-around convenient resources it offers.
You might be wondering why we are mentioning this repo in this list?
It is because if you picked Python intending to get into Machine Learning, this repository presents a crucial step in your Machine Learning journey. Do keep in mind that this repo assumes you already know the core concepts of Python with a bit of introduction to Machine Learning.
This repo covers the various aspects of TensorFlow for Machine Learning in Python, such as all the necessary information related to its introduction, installation, and loads of other valuable resources. These resources include official tutorials, blogs, videos, and much more to help you make the most out of TensorFlow for all your Machine Learning projects and tasks.
The repo Project Based Learning is packed with tutorials for various programming languages with a specific focus on being project-oriented. On visiting his repo, you’ll notice a huge list of over 20 programming languages, we’ll be focussing only on Python for this write-up but feel free to check the projects from other programming languages.
Their Python section includes tons of tutorials for building a host of projects from web scrapers, bots, and web applications to building Data Science, Machine Learning, and Deep Learning solutions. We suggest you check out the entire Python section in this repo for a more in-depth look at the projects and to switch yourself to a more practical learning experience.
Jeffrey Hu’s GitHub repo is a fairly straightforward one. His repo has more than 100 Python programming challenges that cater to new developers, intermediate developers, as well as veteran professionals. Jeffrey also has a website that teaches you foundational Python in the form of comics, which you can also use, but unless you know Chinese, you would be hard-pressed to understand it.
If you’ve been learning Python and want to test your knowledge, we highly suggest you give Jeffrey’s repo a shot before looking for practice exercises anywhere else online. It comes with the required hints and the solution, but try not to scroll too far down, or else you’ll stumble upon the answer.
Similar to learn-python3, learn-python repository also serves as a handy collection of Python resources for beginners and intermediate learners. The repository uses a collection of Python scripts to cover individual topics in Python, such as operators, data types, classes, modules, and much more, with precise explanations and accompanying examples.
There’s also a small section explaining how to use this repository to help you make the most out of this repo. Oleksii calls the repo a playground and a cheat sheet as during the learning phase, learners will often return to the repo to experiment with the code examples for a closer hands-on feel. Once you feel comfortable writing your own Python code, you can use the mentioned linting tools, like pylint, to clean the code while the necessary testing is handled by pytest.
This GitHub repo contains resources for learning and teaching beginner to intermediate-level Python 3. The contents of this repo are very well structured and in Jupyter Notebooks. The beginner folder inside the notebooks folder contains 19 introductory topics such as strings, conditionals, classes, exceptions, and so, to get you started. We recommend taking a look at the repo for the full list.
The rest of the advanced topics are provided in the intermediate folder, such as writing idiomatic Python, a few other general topics, and some best practices to help you avoid writing disastrous and inefficient code. Not to mention, each topic in the repo does come with plenty of sample code for you to analyze thoroughly, along with exercises to help you track your progress.
First released in March 2018 by João Ventura, full-speed-python is essentially a book that covers the fundamentals of Python along with more advanced topics with a significant emphasis on practical learning. After explaining each topic, João tries to solidify the understanding of the concepts by presenting his readers with sufficient exercises. These exercises play a crucial role in bringing Python learners up to speed with Python’s syntax in a short period.
Once you start following this approach, you’ll be able to cover the entirety of this Python book within a month or two, tops. The repo contains the files you will need to build the book for yourself, or you can simply download the book from his repo, the download links are available there.
The name Python Reference says it all. Unlike other repositories that focus on providing useful Python tutorials for a seamless learning experience, the python reference repo is more of a collection of various Python topics for intermediate developers. Although we recommend you take a look at the repo for the specifics, a brief overview of the contents of the repo is below:
● Python Tips and Tutorials
● Python and the Web
● Plotting and Visualization
● Python and Data Science
● Useful Scripts and Snippets
If you have already mastered the basics of Python, then this repo might be suitable for you to help you understand a host of advanced topics. The repo provides Jupyter Notebooks for various topics, such as useful regular expressions, Cython with and without IPython, and many more like it, while giving you the flexibility to edit and run the code as you wish.
Coding-problems contains an updated collection of solutions to numerous coding and algorithmic problems that new programmers face while learning data structures and algorithms. Meto has covered the solutions for problems from various topics and has categorized them into arrays, linked lists, dynamic programming, math, and a few more categories.
The author has structured the problems perfectly to make it easier for individuals to analyze the problem and its solution. But of course, that’s not the only thing you’ll find in his repo. You’ll also find some valuable resources like online courses(MOOCs), books, training websites, YouTube channels, and a bunch of other resources that cover Python and solutions to a host of problems developers encounter while working with Python.
Remember a Python GitHub repo called awesome-python that we read about just a few minutes ago?
Well, if you don’t know where to start with that repo or if you simply find that vast amount of information overwhelming, we present to you Fucking Awesome Python.
Created by Trần Tuấn Anh, taking its inspiration from Fucking Awesome Go, he created this repo to give you a bird’s eye view of the repo awesome-python. Trần’s repo provides essential bits of information about awesome-python in the form of stars, forks, and links to each of the repos mentioned in there, helping you find the popular ones with minimal hassle.