Recommended Python learning resources ✅

(Jeremy Howard (Admin)) #1

For people who have learned Python in the last few years, please edit this wiki topic to add information about what resources you found most useful. Please only include things that you personally have used and liked, and also mention what you liked about it. Once we have a list, I’ll do a poll to see what’s most popular. If you’ve got more to add about something already listed (good or bad) please mention it in a reply. Thanks!

Note that this is a forum wiki thread, so you all can edit this post to add/change/organize info to help make it better! To edit, click on the little pencil icon at the bottom of this post. Here’s a pic of what to look for:

discourse_edit_btn

Beginners to programming

Intermediate programmers

Advanced programmers (but maybe new to python)

Python numeric programming (for people that know python already)

  • Stanford numpy tutorial: great little intro to key python libs and concepts for numeric programming
  • Python Data Science Handbook (by Jake VanderPlas) - An introduction to the major scientific Python/“PyData” packages and best practices. (Being two years old it may be slightly dated (only slightly) at a few places in terms of the API used, but it’s still a great intro and reference.) [The author has generously made available the entire book as freely available notebooks; however the book can also be purchased in print and electronic formats.]
  • Python for data science by wes mckinney(author of pandas): The author of pandas himself starts from basics and goes to advance features of pandas. In short great material to start learning pandas.

Python challenges

Python podcast

Python Newsletters

If you want to keep updated with the python articles, videos and more then subscribe to these channels

73 Likes

Fast.ai v3 2019课程中文版笔记
Suggestion / Resource to learn software design effecitvely?
Where to go if you don't have 1 year of coding experience
FAQ, resources, and official course updates ✅
#2

https://www.udacity.com/: Has a number of free courses including;

  • Intro to computer science (Python 101).
  • Design of computer programs (python 202)
    and a bunch of data science/analysis stuff

https://www.dataquest.io: Paid but good content, aimed more at the data science/analyst market but good python content

+1 for learn python the hard way.
+1 for automate the boring stuff.
+5 for sentdex

1 Like

(Shankar) #3

All the tutorials mentioned above are good, but for beginners sometimes it’s tough to pick one. Here is the list I would suggest, choose according to your need

Please complete one tutorial and then move on to another

Tutorials:

Choose one from these three

-Data Camp
-Code academy
-Coursera

Youtube:

Books:

App

  • Solo learn: must install this app on your phone **

Podcast

Note: ** is compulsory

If you have any doubt feel free to post here, we are happy to help at any point :slight_smile:

0 Likes

(Sandeep Singh) #4

Python For Data Science by Wes Mckinney is absolute gem of a book.

I have done many books/courses, but found solace in this book, because of the approach it takes to explain the concepts and gradual increments in order to engage and introduce the complexity.

Absolute delight to work through this book.

Sandeep

4 Likes

(Jeremy Howard (Admin)) #5

I agree! Do you have a moment add it (with a link) to the top wiki post so everyone can see your suggestion?

1 Like

(Scott H Hawley) #6

To help those of us who run Jupyter notebooks on GPU servers that are behind firewalls, I wrote this guide: How to Port-Forward Jupyter Notebooks.

(Not sure if there’s a better thread for this. Feel free to delete this post if you find it too obvious, unhelpful or inappropriate. Just passing on what I’ve learned.)

2 Likes

(noskill) #7

Done :slight_smile:

1 Like

(Mark Worrall) #8

Hi all,

I wonder if anyone has a link to an online advanced Python course, the sort that might be taken by a developer? I’m doing quite a few projects that are pushing me but would like a little ‘structured’ learning as a complement - ideally focused on doing (i.e. assignments) rather than books or lectures. In particular I’m interested in things like thinking more strategically about programming and help dealing with lots of abstraction.

Thanks in advance.

0 Likes

(Jeremy Howard (Admin)) #9

Probably best not limiting yourself to Python books if you’re interested in those topics. Try Martin Fowler’s books.

5 Likes

#10

Just a couple of suggestions: https://training.talkpython.fm/

And of course you can’t talk about advanced Python training without mentioning David Beazley: https://www.dabeaz.com/

Disclaimer: I have neither tried them out myself nor do I have any affiliation with Talk Python (apart from being a fan of Michael’s podcasts :slight_smile:).

1 Like

(Marc Rostock) #11

This is python specific and maybe not quite what you are looking for, but I found these courses (2 parts) full of interesting stuff. I have not done them from beginning till end but rather like a reference. So if I get stuck on something really strange, I watch the relevant chapters. It is definitely not just a shallow intro to python like many other courses, also goes into memory management and stranger parts of the language etc. (note, this is commercial content, but these are not afiliate links and I don’t profit in any way from this, just think it’s useful for some):
https://www.udemy.com/python-3-deep-dive-part-1/
https://www.udemy.com/python-3-deep-dive-part-2/
*Always wait for “sale” period on udemy, which comes like every other week. Don’t pay sticker price.

2 Likes

(Mark Worrall) #12

Thanks all, I will take a look at the suggestions - much appreciated. :smile:

A little context: I’ve done quite a bit of what is probably more akin to scientific programming (i.e. similar to data science in the interactive nature) but definitely find my programming a bit of a bottleneck for more advanced things like designing frameworks, batch jobs, dealing with huge code bases etc… i.e. the stuff that is usually bread and butter to someone who’s a developer by trade. As such I find delving under the hood of fastai simultaneously thrilling and bewildering :persevere: though would love to get to the level to contribute by the end of the year.

Thanks again!

Mark

5 Likes

(Surag Gupta) #13

Another good course, suggested by a lot of folks from the Python Reddit community:

1 Like

#14

I “knew” Python, but what really set me on the path a few years ago was Peter Norvig’s Design of Computer Programs course on Udacity.

It’s a great programming course in its own right, and covers Python comprehensions, generators etc., really well. It will cure you of for loop addiction :D.

I would add to wiki but I don’t see a “Edit” button.

2 Likes

(Jeremy Howard (Admin)) #15

It’s definitely there. Bottom right of top post.

1 Like

#16

I see it now. I was looking in wrong place. Thanks!

0 Likes

(Dien Hoa TRUONG) #17

I quite like the book: The Hitchhiker’s Guide to Python: Best Practices for Development . I think I am lack of knowledge in software development rather than the programming language (how to structure the project, organize the class, …). However, I think this book missing examples or practicing part. Do someone know where I can practice more about these concepts ? Thank you in advance

0 Likes

(Mark Worrall) #18

Hi @marcmuc - just to update you and others for interest. I bought these courses and am really enjoying them at the moment - thanks!

Oh, and yes, I paid £11.99 per course from a much higher sticker price. For anyone cautious about them (I’ve never taken a course from Udemy before) the material is very well presented and so far seems to be of a high standard with lots of code examples.

2 Likes

#19

I’ve heard good reviews about exercism https://exercism.io/tracks/python

1 Like

(Dien Hoa TRUONG) #20

Thank you @miwojc . I’ve just tried exercism as you suggested and quite like it. The idea of practicing, getting feedbacks and see others’s codes are great. The limitation there now is the community is not very active (unfortunately it is the core concept make it works).

I will stay with it and recommend for someone need hand-on problems to work on and getting help from the pro :smiley:

0 Likes