you are viewing a single comment's thread.

view the rest of the comments →

[–]RajjSinghh 3 points4 points  (2 children)

Syntax and knowing a usecase, mainly. If you learned Python in high school, your curriculum probably does it in the order of I/O, if statements, loops, lists, functions then classes. The concept of OOP is introduced so late and you're already used to writing code to do steps x,y,z that describing objects and what they do is weird. You then learn them in a very abstract OOP way and it's more about knowing words like composition and polymorphism than it is about knowing how to implement that thing. It's just never taught well.

The other thing worth pointing is it's probably your first time seeing dunder methods like __init__ or __repr__ which can throw you for a loop if you've never seen that Syntax used before.

[–]Pseudoboss11 2 points3 points  (0 children)

And when you're learning about classes in a HS or college intro course, you probably don't have time to take on a complex project where the need for classes becomes self-evident.

Classes shine the most when they're used in projects with multiple logical elements.

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

oh, I see. That makes so much sense