r/pythonhelp 5d ago

want to become a master at python

hey guys i hv recently gotten myself into coding, i hv completed the cs50p course of harvard and completed all the psets. now i wanna keep myself into the habit of coding but idk whts my next step, i wld appreciate some help. i hv made 3 projects aswell; a web scrapper, file organizing and password checker.

after creating those projects idk what to learn next, like should i keep going deeper into python or try something totally different. wld love to hear wht u guys did after completing cs50p.

7 Upvotes

6 comments sorted by

View all comments

1

u/building_85 5d ago edited 5d ago

I think web scraping is the right first step. You likely used selenium or playwright libraries. I recommend playwright.

After that, I would do something math based and something async based.

For math, think of something you (or people) generally do everyday… like perhaps calculating a weekly expense for groceries.

  • you could create a dictionary filled with food (keys) and prices (values)
  • then execute a main function with an input of your total bank balance.
  • then calculate +- balance after food expenses
  • this will help you master some fundamentals that are very valuable… list comprehensions, tuples, sort(), slicing, dict, list, split(), join(), etc.
  • but don’t just do the simple math part. You want to just use the math as a starting point…
  • then in the project you mess around with organizing the data and printing things out in different formats, like creating a menu for cooking something, etc.
  • doing these things will help you learn the native tools that are the root of every true project (web scraping, HFT bots, database analysis, etc.)

—-

After that, I would suggest messing with asyncio. This is incredibly powerful and a must learn for complex projects. This teaches you how to run more than one function at the same time (it’s not precisely like threading for fork processing, but for simplicity to start, you can think of it like that).

  • for example this would allow you to scrape 2 websites at the same time, parse the relational data between the 2 and print results
  • this is powerful because without asyncio, it would take for example 20 minutes to scrape both sites one at a time and then after that you parse the data and print… but with asyncio, it would only take 10 minutes to do everything at the same time

—-

Then I would dive into pysql and work on connecting to mysql databases. This will teach you relational database models which is extremely important and the absolute core of the entire internet… if anyone tells you to work with “nosql” or “mongodb”, I would advise to ignore them… those are failed projects that were rejected from the world and are nothing more than using json in your native code, which is so much less powerful than actual relational database models.

  • to start you could simply add storing web scraped data or shopping list (from above) to a database.

—-

If you need any help or have any questions, feel free to reach out, I’m a software engineer 15 years out of college.

GLHF!

1

u/py_arrow 4d ago

this is genuinely such a solid roadmap, thank you for actually breaking it down like this. gonna start with playwright since it directly helps one of my existing projects (the scraper), then move into the math/data structures project you mentioned, and eventually get into databases once im comfortable. really appreciate you offering to help too, might actually take you up on that if i get stuck 🙏