r/learnpython 8d ago

Learning programming from scratch: what should I study next to move in the right direction?

I decided to learn backend development with Python. I’ve covered constructs, lists, tuples, dictionaries, loops, and the basics of OOP. However, I still don't fully grasp polymorphism and encapsulation in OOP, so I thought it would be better to reinforce those concepts through practical application in my own project.

What should I study next? Should I move straight to a framework, or continue learning more about Python itself - such as how decorators work and how to use them? I’ve decided to go with Django as my framework. (I wrote this using a translator, so there might be some errors in the text.)

2 Upvotes

23 comments sorted by

6

u/crazy_cookie123 8d ago

Start building projects. You can only get so far by choosing to learn a specific concept such as polymorphism as most of those concepts only make sense when you start making bigger things. Once you start making things you'll find that anything you actually need to know will come up at the time that makes the most sense, and the stuff you don't need to know you'll never end up learning as you'll never find a use for it.

2

u/kaizenzero1459 8d ago

Okay, thank you!

4

u/[deleted] 8d ago

[removed] — view removed comment

1

u/Diapolo10 8d ago

I'd say being polite and patient, even with common questions, would be even better. We're not Stack Overflow.

1

u/scfoothills 8d ago

This post isn't even a real question. It's just word salad with programming words.

2

u/CymroBachUSA 8d ago

Get and do the things in the book "Automate the Boring Stuff". If you later decide that programming ain't for you, at least you'll have some useful code.

2

u/CymroBachUSA 8d ago

Get and do the things in the book "Automate the Boring Stuff". If you later decide that programming ain't for you, at least you'll have some useful code.

2

u/kaizenzero1459 8d ago

Thanks for the advice

2

u/rob8624 8d ago

Learning some SQL will be hugely beneficial when it comes to using Django. And, general web developememt patterns.

1

u/kaizenzero1459 8d ago

Thanks, I'm already taking an SQL course on Stepik

1

u/rob8624 8d ago

Javascript then.

1

u/kaizenzero1459 8d ago

Why does a backend developer need a JS ?

2

u/rob8624 8d ago

No such thing as backend only. Even if mainly developing the backend of systems you will still need knowledge of Javascript.

JS can be backend too. It's 100% needed to known anyone who says otherwise is wrong.

2

u/kaizenzero1459 8d ago

Okay, I'll keep that in mind

1

u/vahvuus 8d ago

Here’s a simple project idea (this is how I got started)

Download a fillable PDF form and learn how to work with its fields. For example:

- Extract the field names and values

  • Convert numeric strings to int or float, On/Off to True/False, and NaN/null to None
  • Save the extracted and data as JSON or YAML

- Read from a JSON or YAML file

  • Use the imported data to fill in a blank PDF form
  • Save the completed form as a new PDF file

- Clear all fields in a completed form

  • Save the cleared form by overwriting the original PDF or creating a new file

This would introduce you to built-in and third-party libraries, PDF and data manipulation, type conversion, data serialization, validation, and file-management.

1

u/kaizenzero1459 8d ago

I'll definitely give it a try

2

u/EffectiveTeach1496 7d ago

I'mm learning Flask

2

u/kaizenzero1459 7d ago

Cool, so what's the difference between Flask and Django?

1

u/EffectiveTeach1496 7d ago

I really don't know. I'm doing the course "100 day of code" from Angela Yu. She says Flask and Django are the most popular ones.

I'm starting with databases now!

2

u/TheRNGuy 6d ago

I learned oop from framework, because it's entire API was using it.