DEV Community

loading...

Resources for Learning Python

Jessica Garson
Jessica Garson is a Python programmer, educator, and artist. She currently works at Twitter as a Developer Advocate. In her spare time, she is on a never-ending quest for the perfect vegan snack.
・3 min read

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.

Conclusion

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.

Discussion (62)

Collapse
succhib profile image
Succhi

Hackr.io is another great place to find community recommended best Python resources: hackr.io/tutorials/learn-python

Collapse
hooda profile image
Saurabh Hooda

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

Thanks, Succhi for sharing the link.

Collapse
devanghingu profile image
Devang Hingu

it's great.. did you tried exercism.io ?

Collapse
perigk profile image
Periklis Gkolias

Great one Jessica, please allow me a few additions:

Collapse
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.

Collapse
jessicagarson profile image
Jessica Garson Author

That's very exciting!

Collapse
petersimnz profile image
Peter Sim

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

Collapse
alexpilk profile image
alexpilk • Edited

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

Collapse
realedwintorres profile image
Edwin Torres

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

Collapse
himan10 profile image
Himanshu Bhatnagar

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

MIT OPENCOURSEWARE -> ocw.mit.edu/courses/electrical-eng...

MIT Algorithms by Prof. srini devadas and eric demaine -> ocw.mit.edu/courses/electrical-eng...

Collapse
_justirma profile image
Irma Mesa

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

Collapse
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.

siraoops.com

Collapse
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

wemake.services 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.

Quickstart

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

Running

flake8 your_module.py

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? 🤔
Collapse
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.
blog.miguelgrinberg.com/post/the-f...

Collapse
_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.

Collapse
goyder profile image
goyder

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

Collapse
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 siraoops.com. 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.

Collapse
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)

Collapse
ferhadquluzade profile image
ferhadquluzade

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

Collapse
saqibramzan profile image
Saqibramzan

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: chillitos.net/2020/12/can-you-free...

Collapse
katiekodes profile image
Katie

OMG, I had NOT seen Chris Albon's site -- that is amazing.

Collapse
phatdang profile image
PHAT DANG MINH

Thank you for the best of your help.

Collapse
jcvsqzpersonal profile image
jcvsqz-personal

thanks! I'm going to learn this at my free time 😊

Collapse
eyssant profile image
Santosh Kumar Sahu

A Complete Python Programming Tutorial - Learn Python with each and every topic covered with well thought and well-explained examples.

Collapse
pr0d_ profile image
andrew

Awesome post! The Self-Taught Programmer has some good material.

Any advice for getting into programming without formal schooling?

Collapse
harry0507 profile image
harry0507

Thanks for the lists.

Collapse
margo_b profile image
Margo Breäs

Wonderful list, thank you, it will keep me busy for a while!

Collapse
j2kfaalam profile image
JSON

This is really helpful. Thank you Jess.

Collapse
iamkuyainye profile image
JohnReinierVoluntad

Hello

Collapse
ankurt04 profile image
Ankur Tiwari

Very useful post Jessica. Can you please suggest a resource for my 12 year old niece to learn Python?

Collapse
iamkuyainye profile image
JohnReinierVoluntad

Hi Jessica.

Collapse
wpfan2099 profile image
wpfan

sad sad sad - unfortunatly only (!!!) books - github would be much much better
sorry - just me 2 cents

Collapse
harry17meranaam profile image
harry17meranaam

Thanks for sharing. very informative post
thetechlearn.com/python-interview-...

Collapse
gunzgo2mars profile image
Kan Wongsawan

thx u for great resources.

Collapse
inshalayaz profile image
Inshal Ayaz

Well if you really want to learn python books are the best source these are the best books to learn python