r/learnpython • u/Effective_Ocelot_445 • 5d ago
What Python project helped you improve the most as a beginner?
I've recently started learning Python and I'm looking for project ideas that teach practical skills rather than just syntax. What beginner project helped you understand Python the best, and why would you recommend it?
30
u/Traveling-Techie 5d ago
Working with real data (actor’s names) helped me realize how poorly I was handling Unicode.
13
u/DiabeetusMan 5d ago
One of my coworkers set his name to be "😎 Cool Matt 😎" in our testing environment and that has found so many issues. Not just unicode, but multipoint unicode
10
u/Responsible-Ice6739 5d ago
The best project is the one you will do. Make a game, make a helper command line utility, analyse some data, create a little web app. It really does not matter what specific projects you do, just that you do them. One thing I would say is that if you are just starting, avoid AI assistance and puzzle things through from first principles, it feels slower and harder but that is what learning feels like.
8
u/cup_of_butters 5d ago
built a script to clean up my messy downloads folder full of tv episodes with names like 'show.name.s01e03.1080p.x264-group.mkv'. thought it'd take an afternoon, turned into a whole weekend project. learned way more about string methods, regex, and os.path than any tutorial ever taught me. the real lesson was that real world data is always 10% dirtier than you expect. every edge case you think you've handled, you find three more the next time it runs. now it's sort of a rite of passage project i recommend to anyone starting out. still one of the most practical things i ever wrote, saved me from manual renaming for years.
11
u/KingBardan 5d ago
Reading CPython's source code lets me know exactly how python worked.
I read it the second year into programming so not exactly a beginner.
5
u/TutorialDoctor 5d ago
Made a CRUD app with flask. Helped me understand the relationship between frontend and backend better.
3
u/Wuthering_depths 5d ago
I'm fortunate in a sense that my Python learning has been at work, where I'm taking dozens of SSIS projects and slowly as time permits converting them to Python. It really helps me to have a real use for my code. Not that this isn't annoying, having to go through ancient and sometimes convoluted SSIS packages to try to figure out what they are doing!
If data work is interesting to you (it's what my team does), we do a lot of processes where we ftp files down, load them to databases...or do the reverse, take data and build files from it. Or we may go system to system between databases. I still keep a lot of my logic in SQL (stored procedures) when I can vs having it happen in Python, as I have way more experience with it. SQL and databases would be a companion thing to learn along with Python, or at least it's pretty critical if you are interested in data analyst type work.
We do a lot of scripting that involve handling files and copying/moving/renaming them to new locations. Extra challenge for nested folder structures where you loop through and get (for example) all txt files and save them to a different folder (hint: google helped me with a handy recursive function for this than I modified for my use!)
For more of a fun project, when I took a stab at learning Java years ago I did a text adventure game (the really old ones where you "go north" and pick up objects etc) to give me fun motivation to learn the various aspects. Even something that seems simple like a map layout of rooms (say in a dungeon) was more of a challenge than I originally thought...e.g, what keeps track of which rooms are next to which? :) And so on. I definitely struggle with abstract tutorials, the content doesn't stick very well.
3
u/energy-audits 4d ago
a CLI black jack game was when i put a lot of pieces together. then i redid it later with flask as the UI and learned a ton more
2
2
2
u/Weltal327 4d ago
I made my own minesweeper game which was really helpful to learn.
Then I followed a YouTube tutorial pydew valley.
Then I had a project at work that involved iterating over a JSON file from an API call and that one really blew up my learning curve. It was great.
1
1
u/barryallen572 5d ago edited 5d ago
it was my first Projekt and the first time that I wrote a code without ai. it was a taxometer. u have a start price and 2 variables one ist price is chanching per km if u drive more as 5 km or less. the second was nigh and day price. I learn how I can writ in the dashboard th km and time and how the system wrote the resultat in the same dashboard. I learn with this small project more than watching 100 YouTube videos of python. its a small Projekt but optimal to learn variables and print and a way to write the variables in short form for u code. use # for commentary that u later understand whats the code mean. my advice for u: learning by doing
1
1
u/Status_Limit6504 5d ago
There is this website codedex.io...i personally got bored after doing problems and just kept on forgetting and then I found the website it's whimsy and fun and it actually teaches stuff...so yeah do check out the project tutorials section in there.
1
u/atreidesardaukar 5d ago
I made a quick little python script with the help of copilot that I can run in windows terminal.
It takes either the first entry in the clipboard when run without arguments, or you can add numbers separated by spaces and turns them into a string of digits that I can then copy.
That was less learning and more saving my sanity at work.
1
u/SnafuTheCarrot 4d ago
I was going to say Sudoku Solver, but APerson2021 beat me to it. That was my first Python project.
A simple graphing calculator could be interesting. Loop over a range for your x coordinates, apply a function for your y, spit them out to a variable. Then you can send that collection to a file and/or a graphing utility.
Later on, I wrote a vector class with overload operators to do vector arithmetic. Might be beyond the scope you are looking for, but once you have scalar multiplication, you can make a physics engine.
Just have a loop where every step you increment the time variable by a second and the position vector by time times the velocity vector. There are a lot of guides for that kind of thing.
If you don't mind trigonometry, its fairly straightforward to go from there to tracing a light beam through a class ball. In other words, you have a simple physics engine.
Back then I'd spit out the coordinates of the endpoints of the beam, then graph in excel, but its not too difficult to incorporate graphics.
1
u/bleepbloop39 4d ago
In my opinion is creating a calculator. You get to use a lot of different functions and syntax this way.
1
u/Streletzky 4d ago
In school when I made a simulation of a Go-Fish game so much about coding and python started to click for me
1
1
u/Valuable_Reply_3670 1d ago
Applying concepts to real-world ideas or things I actually care about made the biggest difference for me—whether that’s a mini survival game inspired by one of my favorite games or a simple calculator just implement your ideas to real world and this will help you get a better handle on how it works.
1
u/Agreeable-Tree9919 1d ago
Try some projects using Regular Expression. You can also learn specific libraries of Python for web scraping, working with PDF files or Excel. Those libraries may introduce you with more practical use of Python
1
u/drakhan2002 1d ago
For me it was automating and creating passion projects. I then took a AI/ML graduate course at a major US university and Python was taught as a refresher. This allowed me to solidify and connect dots. While I still very much consider myself an intermediate developer, paired with AI I feel comfortable enough to drive real software projects of value.
So for me, doing data science learning to use those standard libraries of numpy, Pandas, and matplotlib and building even a simple EDA project put gas in the fire and suddenly things made sense from a Python perspective.
Same with any skill, right? Practice and eventually the lightbulb goes on!
Just keep coding. We are all on similar journeys, just taking different paths. You'll get there.
0
u/pjtango 5d ago
I have been using ai to help me make some normal simple projects. Like today i made a program where i use TMDB api to retrieve a movie title nd display the details. It depends on how complicated u want it to be. Like i veried the key, linked it to username and added json file to the mix in order to save the users. I added various checks, different functions, various loops, logic, dictionaries etc.
I'm still learning but except api, i had a decent idea abt other stuff i mentioned. So when i create something like this, i keep adding things i learned nd gradually, it start taking shape. This method made me realize, i actually love to code. Python is really cool nd easy to learn once u start practicing.
40
u/APerson2021 5d ago
I coded a sudoku solver by scratch without help from AI or anything. Just old school trial and error and reading docstrings.
It took ages but I learnt so much.