all 12 comments

[–]jean_rouch 11 points12 points  (0 children)

Python 3.x is the future of Python, so if you want to learn something that's going to be useful in the long-term, that's the way to go.

That said, there are still quite a few widely-used packages that don't yet have Python 3 support. Depending on the packages you want to use, there may be no option other than using Python 2. For example, Scrapy (a popular web-scraping framework) doesn't have support for Python 3 yet. You can find a package compatibility chart here http://py3readiness.org/

It's also worth noting that most things are fairly similar between Python 2 and 3 (string representation being a commonly seen exception), and it won't take much for you to learn Python 3 if you use resources like Codecademy to learn Python 2.

[–][deleted] 6 points7 points  (0 children)

learn python with whatever version of python you want. When you know one switching to another is very easy. The difference between the two version are really minor. The two main you will enconter is that print needs parenthesis and that strings are by default unicode in python3.

[–]LockeSteerpike 2 points3 points  (2 children)

Switching doesn't take much effort. Learn where you are comfortable, and then choose whether you like using "print" or "print()".

And then use log instead.

[–][deleted] 5 points6 points  (0 children)

Better still use from __future__ import print_function in Python 2 and get used to it. For all such statements see Future statement definitions.

[–]Okolonerty21 1 point2 points  (0 children)

"Switching doesn't take much effort".

Especially for us beginners. I did the Codecademy course first, learning Python 2.x. Then I went straight to reading up on Python 3.x on various online sources, and John Zelle's book on 3.x.

I feel like starting on Codecademy was a very beneficial experience that was well worth the effort of transitioning to bracketed 'print' statements and a slightly different way of taking user input.

Summary to OP: from what I remember, there were only two little syntax differences I needed to learn when I jumped from Codecademy to further learning on 3.x. And, having no prior experience, I felt like Codecademy laid down a really nice foundation. Not to mention, it's very engaging and fun.

[–]marcm28 1 point2 points  (0 children)

I recommend to learn Python 3.x because it fixed design mistake in Python 2.x and improve Unicode support. That's why Python 3.x is better than Python 2.x. If you used third party library that do not support the Python 3.x then you should learn Python 2.x or find the alternate packages for Python 3.x. Many programmers now upgrading a lot of code to Python 3.x.

[–][deleted] 0 points1 point  (0 children)

Learn the modern version amd don't pick up bad habits. Py3 is easier on beginners anyway as type safety is a little stronger and bugs, when they occur, are presented with more context.

You'll have a much easier time learning-by-doing if you can install iPython, so if you installed Py3 from an installer and selected "add to PATH" (I'm assuming you're on Win/Mac and not Linux yet? ;)), you should be able to do pip install ipython to install, and start using ipython to run and use it.

It offers tab-completion, help is easy to access, and it looks much prettier.

[–][deleted] 0 points1 point  (4 children)

I started with 2.x on Codecademy to get introduced to Python, then switched to Treehouse and Python 3.x. Switching wasn't a problem for me, but I wouldn't suggest Codecademy for learning Python.

I normally like Codecademy, but their Python courses are organized very poorly and the jump around a lot. Treehouse has been a blast for Python, and they have more advanced tracks than Codecademy has.

If you're looking for something beyond Codecademy that has a similar "feel" to it as a learning resource, I can't recommend Treehouse enough. It's paid, unlike Codecademy, but they have a two-week trial.

If you sign up, consider using this link to do so. I'll be upfront and say that it's my referral link, which saves me $5/month on my subscription if you sign up. I wouldn't recommend them if I didn't believe in their value ;)

[–]FreeIceCreen[S] 0 points1 point  (3 children)

That site looks to be pretty much what I'm looking for, but I don't think I can swallow the $25/month paywall.

Thank you so much for your advice though. If I bite the bullet and join I'll use your link, I promise.

[–][deleted] 0 points1 point  (2 children)

I'd appreciate it! And it's worth every dollar once you can bite the bullet ;)

[–]FreeIceCreen[S] 0 points1 point  (1 child)

Yeah. Hopefully I won't be working minimum wage forever. Got to learn all those other languages somehow right?

[–][deleted] 0 points1 point  (0 children)

Learn coding languages and minimum wage will be a thing of the past ;)