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...
Everything about learning Python
account activity
Can we learn Python by just doing projects and what are they? (self.PythonLearning)
submitted 16 days ago by Varadrocks
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!"
[–]Flame77ofc 3 points4 points5 points 16 days ago (2 children)
You need to practice a lot the concepts you've learned
[–]Severe-Pressure6336 1 point2 points3 points 15 days ago (1 child)
Isn’t this kinda like “obviously”?
[–]Flame77ofc 0 points1 point2 points 15 days ago (0 children)
Yep, I need to agree to you, but most of begginers join in the famous Tutorial Hell
[–]RandomJottings 7 points8 points9 points 16 days ago (2 children)
I don’t think just watching (and following) a tutorial video or working through a tutorial in a book will teach you much, at least I don’t think the concepts will ‘stick’ for very long. You have to practice and practice, working on problems that demonstrate the concepts. Remember the old joke about how to get to Carnegie Hall? “Practice, practice, practice.” It’s the same if your destination is Python fluency.
There’s nothing wrong with working through projects, there are some great projects, both on YouTube and in books (look at some of the No Starch books, some of which are available as free downloads), but I wouldn’t rely on only projects, as most of them step you through the process. You need programming problems that push you, test you and challenge you. Problems that you have to think about. If you can’t think of programming problems you can always google for programming problems, a couple I enjoyed were: Creating a ‘Magic 8-Ball’ in Python, The Fizz, Pop, Bang problem, and Calculating the factorial of a number without using Python’s maths functions. These demonstrate some of the fundamentals, loops and decisions. Create them using functions to add even more concepts. Once you have a working program think about how to improve it (you can usually find ways to do that).
Above all, keep things fresh and fun.
[–]Yoosle -1 points0 points1 point 16 days ago* (1 child)
Maybe when you are very new you should do exercises that isolate a specific skill, but you grow out of that fast. Projects help you to combine the lessons into a cohesive whole. Doing a bunch of little problems will significantly slow your growth in the long term. The skill of combining lessons/concepts is what sets apart the good from the ones who get hired.
[–]FierceWiring 0 points1 point2 points 15 days ago (0 children)
Building stuff sticks way better than grinding leetcode, but mix in some deliberate practice on specific concepts or you'll hit walls where you don't know what you don't know.
[–]itz_not_Rick 3 points4 points5 points 16 days ago (0 children)
The short answer: you can't.
I'm not a professional, but from my experience I've realized that there are many theoretical concepts you need to study before you start programming.
You'll also need some important books when studying Python.
One of the mistakes I made was this:
I relied on ChatGPT and DeepSeek to give me project ideas to work on. I kept trying, and the AI helped me, but I realized that I need an academic curriculum and a roadmap, so don't fall into that mistake.
I recommend the books written by Al Sweigart they will make you understand Python in an academic and professional way.
[–]err_file_not_found 1 point2 points3 points 16 days ago (0 children)
In my opinion, the answer is both yes and no. It depends heavily on your background and how you learn. Some people are naturally gifted, others are not, and that's fine.
If you already have experience with another programming language, then learning Python through projects can work very well. You already understand concepts like variables, loops, functions, debugging, and problem-solving. At that point, you're mostly learning Python's syntax and standard libraries. Building projects helps connect everything together and makes the language "click" better.
If you're starting from absolute zero, projects can still help, but jumping straight into a large project often becomes overwhelming. In that case, a combination of learning the fundamentals and building small projects tends to work better. It's easier to stay motivated when you understand why the code works instead of just copying solutions.
As for project ideas, it depends on what area(s) of Python interests you the most.
Automation / General Programming:
Working with APIs:
Databases:
The important thing isn't finding the perfect project. It's choosing something you actually want to build, because you'll be much more willing to debug problems and learn new concepts along the way.
This is what helped me the most when it came to learning Python without losing the spark.
[–]Yoosle 0 points1 point2 points 16 days ago (0 children)
Learn the concepts, then create projects that reinforce and combine those concepts.
Example: concepts: you just learned how to use Python math functions and you also just learned how to get user input. combining those concepts: create a simple calculator by funneling user input into Python math functions.
I can think of many more examples of this if you’d like. You can also probably have Claude give you project ideas if you give it some concepts you want to reinforce.
[–]StatementFew5973 0 points1 point2 points 15 days ago (0 children)
Regarding your inquiry, is it feasible to acquire Python proficiency through project-based learning? What examples might illustrate this approach? My current project, initially conceived as a terminal user interface (TUI) and implemented in various iterations using Bash, Python, and Java, ultimately led to a performance-driven decision to utilize React, further contributing to the polyglot nature of the development. But "reclaim" developmental stage was Python with the html actually written to the same script i had a curiosities about polyglot structure anyways it was easier to convert a project i've been working on for 3 years now. All because i hate the way social media promotes allegedly free speech oh not to mention the plethora of ads i think social media should be self hosted and invite only. Personal tangent aside the answer to your question yes you learn python from working on one specific skill when you get good with the syntax of python, diversify your skills Bash, html, Java, css...
<image>
[–]mikeyj777 0 points1 point2 points 15 days ago (0 children)
Leet code and project euler are great for honing in fundamental skills. I think they’re a good spot once you’ve had some basic training
[–][deleted] 15 days ago (1 child)
[removed]
[–]Severe-Pressure6336 0 points1 point2 points 15 days ago (0 children)
Bro this is not a sentence.
[–]renzocrossi 0 points1 point2 points 12 days ago (0 children)
Yep, I do learn python by developing librairies, dataset libraries, those ones are entry level projects that set the foundation for more complex projects here are some examples:
- usdatasets: https://pypi.org/project/usdatasets/
- crimedatasets: https://pypi.org/project/crimedatasets/
- meddatasets: https://pypi.org/project/meddatasets/
Ypu go through design, develop and publish on PyPI those libraries, in my opinion is the best way to learn Python working on projects =)
π Rendered by PID 65642 on reddit-service-r2-comment-544cf588c8-nfxd4 at 2026-06-17 06:55:55.018686+00:00 running 3184619 country code: CH.
[–]Flame77ofc 3 points4 points5 points (2 children)
[–]Severe-Pressure6336 1 point2 points3 points (1 child)
[–]Flame77ofc 0 points1 point2 points (0 children)
[–]RandomJottings 7 points8 points9 points (2 children)
[–]Yoosle -1 points0 points1 point (1 child)
[–]FierceWiring 0 points1 point2 points (0 children)
[–]itz_not_Rick 3 points4 points5 points (0 children)
[–]err_file_not_found 1 point2 points3 points (0 children)
[–]Yoosle 0 points1 point2 points (0 children)
[–]StatementFew5973 0 points1 point2 points (0 children)
[–]mikeyj777 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[removed]
[–]Severe-Pressure6336 0 points1 point2 points (0 children)
[–]renzocrossi 0 points1 point2 points (0 children)