+ 5
I can't bring myself to learn about classes
I'm learning Python. Recently, I managed to purchase an Udemy course. As I was going through the course, I find myself hitting a wall right after the topic about "functions". This particular chapter deals with OOP and classes. I've attempted many different forms of medium for learning and practicing OOP - Online courses, videos, other external resource that I can find. I often feel demotivated and I find that my memory, at the end of the day, retains nothing about classes. I know that laziness can be a factor, but why is this especially apparent when it comes to OOP? What would be the correct approach to master OOP, especially for beginners, in Python?
7 Answers
+ 7
Not every learning style works for everyone. Try a good book maybe? Or you just write a lot of code and google what you need?
EDIT: Wait - you were talking about classes as in OOP, right? đ
I think we will only start to use higher structure elements when we feel they become necessary.
If all our programs are 20 lines long, we won't ever even feel the need for functions. As soon as we're writing hundred lines or more... it gradually gets more messy. Suddenly we see that functions help.
Classes also need a certain complexity/size of code until you actually start to feel that you get a better overview by using them.
So basically you'll only need to write code, increasing the scope of your projects. Naturally, at some point, you'll start to think:
This is too messy... what can I do?
+ 4
Duncan I know from brief conversation with you that you are a smarter person.
As far as questions and answers it doesn't appear to be a question but thoughts... Udemy has some good courses... and you are not on anybody's timeframe that I know of...
Keep practicing you'll get there...
Believing is healing
Thanks
please follow the guidelines
https://www.sololearn.com/discuss/1316935/?ref=app
+ 4
Duncan Iâm so glad you shared this! I feel the same way. I was excited to learn about lists and strings and functions, but I have a mental block against reading or watching videos about classes. The information just doesnât register.
And HonFu - thank you so much for your insight on necessity. That makes a lot of sense. So I would argue that Duncanâs observation does belong here. I, for one, really benefitted from your explanation and I think other new learners might also.
+ 4
Think it this way-
- A class is a container which contains Variables and Functions (known as Methods)
- Every Variable and Method are known as the member of the class
- Members can be accessed by the dot(.) operator.
Actually, it is easy to know what is a class and It is hard to learn it's possibilities.
+ 3
Part 1/2
Duncan
I understand your frusration. I went through something simmilar.
Firstly let's turn this into a valid question for the Q/A section.
Add to the end of the title something like.
"What don't I understand about classes"
And at the end of the text.
"I suspect it is because I cannot see the value in using classes. What do I need to understand to want to use classes?"
HonFu makes a good point elsewhere in this thread.
The penny dropped for me when I realised that I don't need to name a variable for each class assignment.
The examples might show (Python)
(Example construed to enhance my point)
class Dog:
def __init__(self, name, age):
self.name = name.title()
self.age = age
Fido = Dog(name='Fido', age=4)
print("Dog's name is " + Fido.name + ".")
I would have to know the name of the dog to get the name of the dog. I just thought classes were dumb.
Continuation following.....
+ 3
.....Continuation Part 2/2.
The penny dropped when I saw this code by Rull Deef đș . (There are so many briliant coders on SL from which I have learned so much.) https://code.sololearn.com/WT4BSDOiHRe3/?ref=app
The output is so mesmerizing
Line 26
for(let i = 0; i < birdCount; i++)
birds.push(new Bird)
Just created 30 birds of Bird class
Line 37, 38
birds.map(bird => bird.update())
birds.map(bird => bird.render())
Just updated 30 birds and redrawed them in 2 lines without knowing their names.
Now doesn't that make you look at clases differently?
0
Hi Duncan! I understand where you are stuck because i also was facing this before some time but now i become very familier to it. But no problem.. Keep coding oop. Try to use it as much as u can. then you will soon get easy with it.
Thanks đ