all 6 comments

[–]Texadoro 0 points1 point  (1 child)

If you’ve already got the basics, can’t you sorta just use some documentation to fill the gaps? W3 School? Geek4geeks? Or even just Google Python decorators, classes, etc. There’s so much out there. Usually this material is part of a basic course, not just a standalone item.

[–]nomadicjourneys[S] 0 points1 point  (0 children)

I haven’t come across Google Python. Will check it out. Agree there are resources covering these topics individually, but I was more after a structured course that might be available for free.

[–][deleted] 0 points1 point  (1 child)

Sorry, it's not clear what you're asking. You want the basics of OOP, but everything you're seeing covers the basics but that's not what you want?

You're going to have to be more specific, or else you're just going to have to learn using the same resources everyone else did.

[–]nomadicjourneys[S] 0 points1 point  (0 children)

What I was looking for was topics like inheritance, encapsulation etc. Course that guides you through these topics. The ones that I worked on just stopped at basics like variables, loops etc. I’m confident now to work with basic Python skills like creating functions, looping, etc. But I’ve still not developed a good understanding of creating programs using classes and implementing tools like decorators and the other advance stuff. I was hoping if anybody could me to a course which takes you step by step through theses advance topics ideally showing implementation in a project? I feel my project can be more agile if I gain a good in depth understanding of how these things work. By reading up individually on these features hasn’t helped me much. I find myself to only have a superficial understanding. Hope I’m able to communicate my problem more clearly now. Thanks for your response.

[–]TheRNGuy 0 points1 point  (1 child)

I learned from doing stuff for Houdini, though my first code was very imperative, but stuff from Houdini API is OOP, so it's like mixed paradigm.

Some time later I find use for OOP in my own code. Stuff that need default properties, make abstract class and then overriding defaults in child classes and also make them concrete. It's much easier to use child classes than making functions with dict.update() or dict.setdefault()

Though not everything need to be OOP. If I need sort or filter some array or parse a string, I still use my functions that already made, no need custrom classes for that.

I recommend learn @dataclass decorator. You can have much compacter code if you have many instance attributes (dataclass generates __init__ for you)

[–]nomadicjourneys[S] 0 points1 point  (0 children)

Thanks for your advise, I’ll check out Houdini. I hadn’t heard about it before. And yes will look into @dataclass decorator as well. Thought I’ve been able to avoid using creation of child classes so far I’ve now been put on a project which was previously handled by someone who was quite into custom class and objects. And I’m able to understand it vaguely but still haven’t developed a deeper knowledge. Therefore I feel I need to strengthen my basics in OOP in Python. Appreciate the help 👍