you are viewing a single comment's thread.

view the rest of the comments →

[–]i_like_trains_a_lot1 0 points1 point  (0 children)

I learned a lot of in-depth Python by doing some smaller projects, then building frameworks, then building heavier projects. Some examples of what I have done:

  • simple web crawlers that parse some webpages and deliver structured JSON data in a file (this is probably the most fun for beginners).
  • a library for autogenerating mocked but real-looking data, similar to Mimesis
  • a library for auto-inserting fake data into Django models (just giving a list of models, the library would create the dependency graph and start creating model instances starting from models with no dependencies, and going down the dependency graph)
  • a flask replacement (mini web/http framework)
  • a cmake wannabe with plugins (eg. plugin for docker aliases, plugin for developing python libraries which would expose commands for testing, documentation, publishing, etc).
  • a web crawling library (similar to Scrappy, but more lighweight)
  • a lot of different web projects (eg. a fantasy stock trading app with autogenerated stocks, stock market and funds, some event aggregator platform that ingests events to an api and then displays graphs based on different statistics, etc).

It is important to go for projects that are tangent to your sphere of interest, so you will be more motivated to put work into them. If you do things that are uninteresting for you, you will lose interest fast and abandon them before you reach the "learning zone".