DEV Community

Jessica Garson
Jessica Garson

Posted on

Resources for Learning Python

About once a week, someone new to their journey writing code reaches out to me asking if I have know of any resources to learn Python. Since I'm currently teaching an Intro to Python class at NYU, this question has become a daily occurrence so I figured I'd compile a list of my favorites.

Below is a list of recommend resources for learning Python originally posted to my GitHub repository for my current class I'm teaching.

Just getting started

Here are some resources that can help you get started learning how to code.

So you want to be a data scientist?

So you want to write code for the web?

Not sure yet, that's okay!

Here are some resources for self guided learning. I recommend trying to be very good at Python and the rest should figure itself out in time.


I hope this list is helpful to you in your learning journey. Get in touch with me or comment below if you have any other Python resources you recommend.

Top comments (58)

succhib profile image
Succhi is another great place to find community recommended best Python resources:

hooda profile image
Saurabh Hooda

That's a great list, Jessica. Kudos and Thanks!

Thanks, Succhi for sharing the link.

devanghingu profile image
Devang Hingu

it's great.. did you tried ?

perigk profile image
Periklis Gkolias

Great one Jessica, please allow me a few additions:

alvarocavalcanti profile image
Alvaro Cavalcanti

Great resources! Thanks for that!

Also, for those interested in buying the Refactoring book, Martin Fowler has recently announced that he's working on a 2nd edition of the book, which he hopes to release early this summer. So, those of you who were planning on buying it, if you can wait a little bit it'll probably be a good idea.

jessicagarson profile image
Jessica Garson

That's very exciting!

petersimnz profile image
Peter Sim

I note that the second edition of the Refactoring book is available on Amazon.

alexpilk profile image
alexpilk • Edited

Thanks for the list! Here's my favorite Python YouTube channel:
Corey Schafer

realedwintorres profile image
Edwin Torres

I'll add to the list. It's an interactive, online, non-sense tutorial that teaches Python basics. You'll write Python code instantly.

himan10 profile image
Himanshu Bhatnagar

It's Amazing and Informative.
There're some more stuffs that one should need to give a try


MIT Algorithms by Prof. srini devadas and eric demaine ->

sobolevn profile image
Nikita Sobolev

I also recommend to use a good linter to learn the best-practices. It is also useful to catch errors one can possibly make. I recommend wemake-python-styleguide:

GitHub logo wemake-services / wemake-python-styleguide

The strictest and most opinionated python linter ever!

wemake-python-styleguide Supporters Build Status Coverage Status Python Version wemake-python-styleguide

Welcome to the strictest and most opinionated python linter ever.

wemake-python-styleguide logo

wemake-python-styleguide is actually a flake8 plugin with some other plugins as dependencies.


pip install wemake-python-styleguide

You will also need to create a setup.cfg file with the configuration.

We highly recommend to also use:

  • flakehell for easy integration into a legacy codebase
  • nitpick for sharing and validating configuration across multiple projects



This app is still just good old flake8 And it won't change your existing workflow.

invocation resuts

See "Usage" section in the docs for examples and integrations.

We also support Github Actions as first class-citizens Try it out!

What we are about

The ultimate goal of this project is to make all people write exactly the same python code.

flake8 pylint black mypy wemake-python-styleguide
Formats code?
Finds style issues? 🤔 🤔
Finds bugs? 🤔
_justirma profile image
Irma Mesa

Thanks for this! Python is a language I'm going to start learning :)

jorotenev profile image
Georgi Tenev

Regarding Flask - the book by Miguel which is mentioned in one of the links is very comprehensive, practical and easy to follow guide to Flask.

siraoops profile image
John Sirabella • Edited

We just released our python training kit! This program is ideal for students and
teachers. For anyone interested in python programming, go to the downloads tab and click on the pythontraining.msi file.

goyder profile image

Wow, "How to Do X With Python" ( is an amazing resource I'd not seen before. Clean and impressive!

siraoops profile image
John Sirabella

Hello all I am new to the group. As a python teacher I decided to take all the programs I have written and put them into a single application for the teacher. My inspiration... to make my life easier lol. The program is written in powershell yet it runs all python apps. The demo program will contain a cross section of the apps. The production program currently has 221 exercises and is growing daily. It allows the teacher to select the lessons from the various categories and build the actual lesson. It is also a presentation tool for the teacher. You can present on an overhead and people in the back row of the class can read the code easily. I don't know if anyone has created such an application. It is really unlike all of the web download stuff that you find. It is a windows app. I will be putting out a demo within two weeks. I will post a link from our website to download the demo when it is actually posted. Our website is For the most part our website has educational software. I am being influenced by my teacher role. Let me know if there any interest. Turns out I am also originally from NY.

themainframech profile image
The Mainframe

Thanks for sharing those resources! How would you recommend creating a GUI in Python? I'd love to chat about all things Python with you for a bit. If you're up for it, please follow me back on Twitter so we can direct message :) I'm @themainframech (or open your DMs up to the public)

ferhadquluzade profile image

download pyqt or kivy.but kivy is can make android ios linux windows if i do not remember wrong also macos apps with well ass pyqt is cross-platform.but if you want to make app for mobile with pyqt you need kivy file.

_andre_dias_ profile image
André Dias

Nice post. I can recommend Python 3 Crash Course for total beginners. Clean and easy to understand before you dive into some more complex stuff.

saqibramzan profile image

The correct way to learn anything is to go through it's concept. And as per my view, you can't learn any thing just by seeing on the book. Moreover, if he really want to learn python, he should take some course from an expert.

Regards: Ryan Eli
My latest Blog:

Some comments may only be visible to logged-in visitors. Sign in to view all comments.