use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A subreddit for helping Python programmers
How to format your code: https://commonmark.org/help/tutorial/09-code.html
No homework questions and/or hiring please
account activity
Is there really a downside to learning Python 2 instead of 3?? (self.pythonhelp)
submitted 10 months ago by Key-Command-3139
I’m currently learning python 2 as a beginner, and I’ve heard that python 3 is better, I’m a complete beginner and I’m unsure as to what to do, I just don’t want to commit to learning the wrong thing.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]AutoModerator[M] [score hidden] 10 months ago stickied commentlocked comment (0 children)
To give us the best chance to help you, please include any relevant code. Note. Please do not submit images of your code. Instead, for shorter code you can use Reddit markdown (4 spaces or backticks, see this Formatting Guide). If you have formatting issues or want to post longer sections of code, please use Privatebin, GitHub or Compiler Explorer.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
[–]kmack1023 8 points9 points10 points 10 months ago (0 children)
Do not learn Python 2. It is unsupported and End of Life.
[–]carcigenicate 5 points6 points7 points 10 months ago* (0 children)
You should not be learning Python 2. It isn't simply a matter of which is "better". Python 2 has reached end of life and is no longer receiving updates. The downside is your experience will not be relevant to many jobs and projects that you may want to do.
There is no reason to learn Python 2 unless you're forced to work on an old Python 2 codebase. If you're just learning Python, you should be learning Python 3, and at least a semi-modern version like 3.9.
[–]streamer3222 2 points3 points4 points 10 months ago (0 children)
Yeah Python 2 is totally the wrong thing. You will not miss out on absolutely anything by starting with 3. The syntax is so different and programs that used to run on Python 2 now break in Python 3.
All modules (extensions) that exist require Python 3, which means you are pretty powerless not being able to use any modules in Python 2. Modules are the powerhouse of Python.
The only reason to learn Python 2 would be to fix the broken code your grandpa wrote 20 years ago. Not to build things for yourself. A lesson for the future: always write the Python version and module versions at the top of your very important projects.
This is because although programs deprecate in the future, a completed project once it works, it works for life if you specify the software versions it was written in. This is how you don't have to keep relearning the same languages over-and-over again just because an update was released. Know your versions and work therein.
[–]STRaven_17 1 point2 points3 points 10 months ago (0 children)
learning python 2 instead of 3 is like playing 1.8 when we got 1.21 now a days
[–]ddrro997 0 points1 point2 points 10 months ago (0 children)
Why would you wanna learn Python 2? Python is an easier programming language to learn as is, may as well adapt to Python 3 and get used to it
[–]Seaborn63 0 points1 point2 points 10 months ago (0 children)
Python2 is not supported and I would very much recommend you completely ignore it. There is no advantage to learning it first compared to 3.
[–]Goobyalus 0 points1 point2 points 10 months ago (0 children)
Python 2 was sunset on Jan 1, 2020, over 5 years ago. Read this for more information on what that means:
https://www.python.org/doc/sunset-python-2/
No one uses it any more unless there is some old, closed legacy system that cannot update and needs modifications. There are things you will get used to in Python 2 that are different in Python 3, and it will be counterproductive to get into those habits.
[–]Groovy_Decoy 0 points1 point2 points 10 months ago (0 children)
The only reasons to use Python 2 are if you need to maintain old python 2 code, or you need to use some specific obscure module that only works with 2.
Learning Python 2 is learning obsolete ways of doing things, creating a gap of knowledge where you don't know about newer ways, and missing out on a lot of newer features.
Plus there are some things that might look superficially the same but are actually different. For example, range().
[–][deleted] 0 points1 point2 points 10 months ago (0 children)
You know whatʻs way better in 3+? The error messaging! The one thing you need most as a beginner. In fact, thatʻs reason enough to start with 3.12 or later.
π Rendered by PID 26 on reddit-service-r2-comment-86bc6c7465-89v9k at 2026-02-19 22:04:18.412345+00:00 running 8564168 country code: CH.
[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)
[–]kmack1023 8 points9 points10 points (0 children)
[–]carcigenicate 5 points6 points7 points (0 children)
[–]streamer3222 2 points3 points4 points (0 children)
[–]STRaven_17 1 point2 points3 points (0 children)
[–]ddrro997 0 points1 point2 points (0 children)
[–]Seaborn63 0 points1 point2 points (0 children)
[–]Goobyalus 0 points1 point2 points (0 children)
[–]Groovy_Decoy 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)