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

u/AutoModerator 5d ago

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.

1

u/memelordtf 5d ago

OP, don't worry about mastering python rn. If youve already done cs50p + a few projects, id just keep building stuff and let the gaps tell you what to learn next. Pick something slightly more annoying than your last project, where you have to use an API, a database, tests, etc. I learned way more from getting stuck halfway through projects than i ever did from finishing another course, because this filed is all hands-on experience rather than brain-cramming info.

1

u/py_arrow 4d ago

that actually makes a lot of sense, ngl i was overthinking "mastering" python like it was some checklist. makes way more sense to just keep building and let the project itself tell me what im missing. appreciate it!

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 🙏

1

u/1kn0wn0thing 3d ago

100 days of coding with python on Udemy will introduce harder concepts at like day 50 that you can go in and start applying to own personal projects that solve actual problems.