I am starting to learn python and there are a ton of resources. I kind a got overwhelmed with all the available sources. What are the best ones according to you?
In my opinion the best place to start is the tutorial on python.org, for whichever version of python (2 or 3) you are learning.<p>Python 2: <a href="https://docs.python.org/2/tutorial/index.html" rel="nofollow">https://docs.python.org/2/tutorial/index.html</a><p>Python 3: <a href="https://docs.python.org/3/tutorial/index.html" rel="nofollow">https://docs.python.org/3/tutorial/index.html</a><p>Also start browsing through the modules listing, so that you don't reinvent too many wheels:<p>Python 2: <a href="https://docs.python.org/2/py-modindex.html" rel="nofollow">https://docs.python.org/2/py-modindex.html</a><p>Python 3: <a href="https://docs.python.org/3/py-modindex.html" rel="nofollow">https://docs.python.org/3/py-modindex.html</a><p>And the answer to whether you should learn 2 or 3 is:<p>2, because there are still 3rd party tools that don't support 3. Or because your friends are using 2.<p>Unless you know you need 3.<p>Or if all your friends are using 3 (because that's where a lot of your help is going to come from).<p><a href="https://wiki.python.org/moin/Python2orPython3" rel="nofollow">https://wiki.python.org/moin/Python2orPython3</a><p>But it doesn't matter overly much. Unless it does, for your job, but then they'll tell you.
Two words: "Python Koans".<p>Basically, these are coding exercises (floating about in various forked versions) that do a pretty good job at testing your working knowledge of core syntax (much better than staring at online tutorials, anyway). Including, importantly, a lot of the fussy stuff you don't think you need to be familiar with, but actually, you do (and would probably neglect entirely if you tried to sharpen your skills just by working on personal projects, thinking in terms of the idioms of whatever language you were most recently working with).<p>Just find a good weekend, roll up your sleeves, and push yourself through them. No one will be able to kick sand in your face in an interview or a phone screen ("What? You don't know about named tuples?") ever again.
How to Think Like a Computer Scientist
Learning with Python: Interactive Edition 2.0<p><a href="http://interactivepython.org/runestone/static/thinkcspy/index.html" rel="nofollow">http://interactivepython.org/runestone/static/thinkcspy/inde...</a>
This post has been viewed 100,000+ times:<p><a href="http://codecondo.com/10-ways-to-learn-python/" rel="nofollow">http://codecondo.com/10-ways-to-learn-python/</a><p>the absolute essential starting point for any want-to-be developer.
One that hasn't been mentioned yet is <a href="http://www.pythonchallenge.com" rel="nofollow">http://www.pythonchallenge.com</a>, where answering each challenge correctly leads you on to the next one.
Tutorial on python.org is by far the best
If you are looking to start from the very basics, <a href="http://www.tutorialspoint.com/python/index.htm" rel="nofollow">http://www.tutorialspoint.com/python/index.htm</a> explains with very easy examples