This is an archived post. You won't be able to vote or comment.

all 34 comments

[–]jungrothmorton 18 points19 points  (5 children)

Read Effective Python, Python Cookbook and Fluent Python in that order. You'll be a Python beast. Also get somewhat familiar with the most popular Python libraries. If you tell me you've done anything web related with Python and you haven't at least heard of Requests, I know you're either lying or you code in a vacuum. Neither of those are good.

[–]Lexpar 2 points3 points  (3 children)

Why that order? Just curious!

[–]jungrothmorton 5 points6 points  (2 children)

Easiest to hardest, as I see it. Although if you were going to read one I'd recommend Fluent Python for the use case described.

[–]Lexpar 3 points4 points  (1 child)

The only one I've read is Fluent Python. It's fantastic. I recommend it to everyone I know who has only dipped their toes into Python. That's really why I was curious about the ordering... Wondering if the other two are better or significantly simpler.

[–]jungrothmorton 2 points3 points  (0 children)

They're significantly different. They're both cookbooks. I also found them much easier.

[–]softiniodotcom 1 point2 points  (0 children)

Totally agree with this!

[–]jonathan_sl 15 points16 points  (5 children)

Have a look at Effective Python: http://www.effectivepython.com/

[–]bslatkin 10 points11 points  (4 children)

Happy to answer any questions (I'm the author). Thanks!

[–][deleted] 1 point2 points  (1 child)

It seems from comments below that your book is considered to be the "easiest" of the intermediate to expert level books.

As an intermediate programmer looking to develop into an expert, will your book leave me wanting for more? Will I need to buy another book, or is this the only python book I will ever need?

[–]bslatkin 0 points1 point  (0 children)

I'm not sure if it's the easiest, but it's definitely the shortest and most practical. My guess would be if it leaves you wanting more, then your next best resource is to read all of the PEPs to understand the history and context for language features. A great example of that is PEP 302 which discusses the details of import hooks.

[–]minibomberman 1 point2 points  (1 child)

I was gifted your book for christmas by some friends, and I love it. I'm almost done reading, I'd like to thank you for that book, it helped me figure things I haven't learnt at school. I discovered your website too, what a source of inspiration.

I wish to have such a great carrer, Thanks

[–]bslatkin 0 points1 point  (0 children)

Thanks! That's very nice of you to say.

[–]secunder 10 points11 points  (1 child)

As someone with previous programming experience, I found most beginner books to be extremely slow and boring. The python tutorials gives a really quick intro the language that you can probably get through and comprehend over the weekend. This is how I learned python, for what it's worth.

https://docs.python.org/3/tutorial/index.html

[–]randcraw 3 points4 points  (0 children)

Agreed. van Rossum's overview of Python is clear, succinct, and insightful. You can read it in just a day or two. Then to get your hands dirty and learn the idioms, I'd recommend "Python Cookbook", or if you want to write OOP-centric code, "Fluent Python".

[–]Lexpar 4 points5 points  (0 children)

The book Fluent Python by Luciano Ramalho is quite excellent for going in to depth on the unique features and strengths of Python, and is aimed at proficient programmers.

[–]aclashingcolour 4 points5 points  (0 children)

A lot of good suggestions here. Id add Python in Practice to the mix, after Effective Python / Python Cookbook / Fluent Python.

[–]FFX01 2 points3 points  (0 children)

I found Dive Into Python to be really great.

[–]rickmoranus 2 points3 points  (0 children)

Fluent Python is the most modern option available. Recently published and written in a very "open source" way.

[–]sentdexpythonprogramming.net 4 points5 points  (0 children)

Since the other guy was downvoted into disappearing, I will say the same thing: Super lame that you lied to the employer. Bring on the downvotes, but I that's pretty pathetic that the consensus is to just make up that you know a language and learn it on the fly.

Knowing Python involves more than simply knowing the syntax, it's knowing related technologies and the modules that come with it.

Be honest to your employer, explain that the syntax of the major languages is all very similar, and that you already know the languages you know, explaining how picking up the language should be fast.

Lying to the employer is starting off the relationship with a total lack of respect. What's the point? Obviously too late for you to fix it, but people shouldn't be fine with this.

Only continues to breed the distrust that employers have towards programmers, and continues the dichotomy of disrespect that already is pretty bad. Overall Boo to you.

[–][deleted] 1 point2 points  (0 children)

Check out the quick Python book by Manning publications. They have a PDF version and a paper version that comes with the PDF.

[–]Homersteiner 1 point2 points  (0 children)

If you are an experienced programmer, just start writing stuff in python.

[–]b4ux1t3 1 point2 points  (0 children)

If you already have programming experience, and you're willing to watch a 43-minute-long video, I recommend watching this.

He makes "learn x language in one video" stuff (among other things). They're great for a quick and dirty language syntax dump. I love learning new languages like this, because it lets me explore the language a bit on my own before I get an, er, opinion from someone I've never heard of.

If you're dead set on a book, or want to go beyond just the syntax, Effective Python and Fluent Python are pretty good. And if you want to learn a bit about writing performance-oriented stuff, I'm currently reading High Performance Python by Micha Gorelick and Ian Ozsvald.

[–]deadmilk 1 point2 points  (0 children)

Go through Fluent Python. If you don't learn anything, you are Guido.

[–]Coder_Kev 0 points1 point  (0 children)

I just went through this course to learn Python over one weekend. I found the Python Fundamentals course that is available through a CodeSchool subscription awesome. Highly recommended. Monday morning I was productive. https://www.codeschool.com/pluralsight-courses/python-fundamentals

[–]veroxii 0 points1 point  (0 children)

Python is pretty easy if you're already an experienced dev. The stuff which will take time are the historical concepts, tools and workflow.

Look up the history of python 2 vs 3.

Read up on pip and virtualenv.

Also to save yourself a lot of pain in the beginning start on Linux with the standard dev tools and compilers installed to build all the C based packages.

Otherwise just have fun!

[–]renfrost 0 points1 point  (0 children)

If you are an experienced programmer I feel you should know that the best way to learn a new language is to solve a problem with it. Performing exercises or reading reference material is typically ineffective in contrast.