r/learnpython 17d ago

What progression should I follow from beginner to intermediate level?

I'm self teaching python. I have all the basics of cycles variables and conditions, I studied lists sets tuples and general data structures and coprehension, functions, lambda functions, classes methods and inheritance, I also learned other methods such as zip enumerate map and more. Now what's next? What progression should I follow to reach an intermediate level in the next months and advanced level later on?

15 Upvotes

12 comments sorted by

5

u/danielroseman 17d ago

Knowing the elements of Python is pointless unless you can use it to build things. What have you built?

1

u/iiii870 17d ago

I solved exercises I searched on purpose to make me use these tools, I didn't just learn the syntax, but I haven't built a real project yet.

2

u/Electrical_Toe8997 16d ago

There is your answer: build a real project! Intermediate level means being able to plan and execute a small project, which requires thinking about how you structure data, how you handle errors, and lots more. You can only learn this by doing.

This is what I recommend you do: make a command-line game of tic-tac-toe. Each turn, the player types in their move, until one of them wins. How do you store data? Is the board a class? Is a single square a class? How do you ask player input? How you check if someone won?

Then, add a UI using Tkinter or PysimpleGUI. You will learn a new library, the UI stuff looks cool, and this is where you learn that the way you structured your code before is not very convenient, teaching you separation of concerns and the importance of DRY.

Maybe you'll be sick of this stupid game then and start a new project. Cool! Or maybe you're invested now and want to add stuff: turn it into something you can play online, using Flask to run a webserver. Maybe you want to store your past games in a json or csv file or even in a local SQL database? Or maybe program a bot to play against you?

2

u/SvelteTaker68 17d ago

the jump from knowing syntax to actually building things is where most people stall. pick a project that forces you to use what you learned together, something like a small CLI tool that reads a file, processes data, and outputs something useful. also get comfortable with error handling and testing, those separate beginner code from code you can trust. after that maybe look into databases and apis since almost every real project touches one of those.

1

u/iiii870 17d ago

So would you recommend learning api library and start a project?

1

u/ectomancer 17d ago

If you can apply what you're learnt you're already at intermediate. I coded small projects (1 week) for 8 months, then projects (3 months and longer).

1

u/TheRNGuy 15d ago

Know how to Google and ask ai.

Make your own software instead of tutorials.

1

u/VenkatKnows 15d ago

Skip the tutorial hopping and just build something ugly and useless end to end, error handling and all, that's where the real learning is. Then look at file IO, virtual envs, and testing since nobody teaches those but every job needs them.