Using Classes and Objects in Python | Learning Python for Beginners | Code with Kylie #9
Vložit
- čas přidán 13. 09. 2024
- In this video, I'm diving into the topic of classes in Python. Python is an object-oriented programming language, which means that much of the code revolves around objects. We can create new types of objects by creating classes, and we can create new instances of those classes to use in our code.
In this video, I'm using the beach as an example class. I go over how to define a class, initialize it, and then add methods to the class. In addition, I demonstrate these concepts using examples and talk about how changing an attribute in one instance of a class does not change attributes in other instances necessarily.
I also talk about class variables vs instance variables and how they differ. I talk about how to customize an initialization function and pass in parameters in order to set the attributes and such. Fun stuff!
Other good resources to check out:
docs.python.or...
www.w3schools....
www.learnpytho...
The goal of this video is to teach you how to start using classes!! :)
Feel free to leave any questions.
Please consider subscribing if you liked this video: www.youtube.co...
Thanks for watching everyone!
~~~~~~~~~~~~~~~~~~~~~~~~
Follow me on Instagram: / kylieyying
Follow me on Twitter: / kylieyying
Check out my website: www.kylieying.com
you are good ,Appreciate that but
what is the difference b/n function and Class?
and what is the d/f between (in function ) def __beach __: and def beach : ?
Good question.
Let's use our beach example and lets say we want a script that will go through all the beaches in the world and pick out ones that might be fun to go to.
Functions are just blocks of code that have a name. I can make any few lines of code into a function. Usually when I make functions, each one has a specific "task" that makes it logically separable from the rest of the code (so in my script i might have some functions like get_all_beaches which might have code that gets all the beaches in the world, then filter_beaches which might have code that filters through all of those beaches, etc.) You could technically just put everything into the script without the functions but it helps with organization.
On the other hand, classes represent objects, so it's not really just "a chunk of code that we name". Instead, it's like saying "hey let's create something that helps us represent a beach". In my example, after getting all the beaches in the world, I would create beach objects for each beach just to represent them in a clean way. Then I can store name, location, water color, etc. as part of the object's properties instead of as a random dictionary.
Does this make any sense?
And then for the difference between the functions within the class that are like __init__() vs something_like_this..
__init__ is a standardized python function for classes. Functions like this are actually called magic methods. When you create an instance of the object, python knows to run this function __init__(). In a similar way, if we have a method in the class __str__(), this actually would tell python how to make a string representation of the object so if we have cancun_beach = Beach('Cancun') and we do print(cancun_beach), it would print whatever the string representation is, so it actually prints cancun_beach.__str__()...
Other functions are ones that you are defining and adding to the class.
Take a look at these resources if my explanation isn't very good:
www.geeksforgeeks.org/dunder-magic-methods-python/#:~:text=Dunder%20or%20magic%20methods%20in%20Python%20are%20the%20methods%20having,__%2C%20__repr__%20etc.
www.journaldev.com/22460/python-str-repr-functions
Hope this helps
Tnx i understand, again tnx alot
@Alijah Mathias < Scammer
Awsome👌
I have always struggled to understand classes especially the use of "self". This is the best explanation i have come across so far and now i have a good understanding of classes. I'm actually surprised at how easy it is, almost feel stupid that i struggled with the concept for t6oo long. Thank you! Thank you!
I cannot thank you enough Kylie. You are a beautiful soul. I was two runtime errors away from dropping the class because I couldn't figure out Zybooks but you broke everything done so wonderfully it just made sense. So my future bachelor's degree is all thanks too you!!!
Watched almost all popular OOP videos and this one helped me understand it a whole lot more, thank you
Hands down one of the clearest explanations of basic Python on YT. Thanks so much for your vides Kylie
Kylie, I've just watched 5 videos on classes back to back and this was by far the best explanation.
Excellent lesson! You really are a great teacher. Thanks once again.
You motivate me to do better!!! I struggle with this simple concept!!!
Such an awesome explanation. Thank you so much you have helped me a ton with this difficult concept. I hope you find success teaching- amidst others I have seen- your teaching style is very easy to pick up and learn from right away. VERY awesome, very thankful!
so it seems as though video number 9 is when we take things up a notch. I might have to watch this one a few times as my brain currently feels like it did after i watched Inception for the first time haha
I do not code and do not ever plan on it, but I watch all your vids!
🥺🥺🥺 thank you
Other good resources to check out:
docs.python.org/3/tutorial/classes.html
www.w3schools.com/python/python_classes.asp
www.learnpython.org/en/Classes_and_Objects
Subscribe for more coding lessons/tutorials!! :)
Follow me on insta/twitter: @kylieyying
You are a good teacher.
Hi ! I am a monk.
I have been learning coding to help the Tibetan astronomy science to preserve.
I could have done some projects on it, and I am still on progress to accomplish. but because of lack knowledge on python I am stuck ..... I watch your videos , they are helping me to build up concepts.....Thanks
I love you didnt wait to get your desk to do this.
damn girl you go fast, I've gotta pause the video to catch up rofl. But you helped me heaps though very good examples you shown Thanks
Thank you so much Kylie
You literally started my career in coding
I love you Kylie, you are so great at teaching...
Great tutorial. Been struggling with classes a lot and this really helps.❤❤❤
Nice vedio i am from Bangladesh
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” - Martin Fowler
go ahead best of luck!!
Hi . I have one doubt:
1) What is the need for
if __name__ == '__main__':
i also don't understand that. can anyone explain ???
U are so talented ,indeed an inspiration to me!
your videos are very helpful.
Thank you so much.
Love your videos! So clear and thorough! is the terminal app the same thing as the command prompt? and how do you paste that path in so fast? and maybe you have a video that is a brief intro to using the terminal app to run the code I write in vscode? never mind... figured it out on my own. Still love your videos! slowly working my way through all of them. started with PyCharm Community, mostly because it has lots of buttons, then moved to Mu, which I use with my middle school club, then downloaded vscode, which seems pretty intuitive. thanks for being so patient with all of us!
12:05
Heyy Kylie, how are you doing. I'm a new subscriber of your channel and love the contents you have on. I am also a new learner of Python language. I wanted to know how i can be good at writing my own codes and what steps i should take from the basics. Thank youuu
Loved the video! It helped a lot!
Very nice explanation!!!
Ahh your videos are so helpful! Coding is fun who knew?! Well I guess you did😂
Thank you queen ♥️♥️♥️
Thank you for the video! When a parameter is passed to a class, why should the parameter be assigned to 'self.parameter' and an attribute be created? Isn't the parameter available throughout the class and given? Is it to assign some type of memory to the parameters?
Thank you Teacher Kylie
Awesome video! How would you save this class as a separate .py file and import it into other notebooks? I've been trying....but name-errors all over....some functions inside the class are "not defined"......
I love your channel Kylie :-D
thank you
Thank you Kylie
Thank you Kylie.
thanks for the vid really helpful. Can I ask what is the purpose of the last 3 blocks starting in if __name__? thanks a lot and more power!
Hey!
I'm having some issues with the last bit of code at 11:43. Everything up until "print(cape_cod_beach.parts)" works just fine, but the second last line gives me an error:
AttributeError: 'Beach' object has no attribute 'add_parts'.
Very helpful video! Thank you so much!
Kylie, when I execute this code in Pycharm (windows) I get
what am not doing right?
Take it easy lady . . . some of us here are old . . . go slower please and avoid confusing names . . . otherwise . . . u r great as usual . . . thank you
Nice!
Appreciate the lesson Kylie! #nodeskgang!
:’) Im getting one soon!
Why do you run your program with the terminal app? Isn't it more efficient to just press "run" in the text editor?
Sometimes you need to control which directory you run it from and tbh I like terminal because it makes me look cool hahaha
Great tutorials .
I fpossible could you make tutorials for python app development too . Thanx . :)
But how don't use this for real world projects?
Hi Kylie watching all your videos since morning you are really good can you please try more projects also thanks I was lacking with some of concepts .
Yes, the plan is to do more projects after I’m doing with the intro python series
I will also be redoing some projects (hangman/tic tac toe)!! Now that I’m better at making coding videos haha
could You please, explain me line 27 ?(;
mam can you tell me what is the use of __name__ ?
hey can someone tell me what program she uses to code. Im new to programming and i would love to have those small windows that explain the different functions and things. thanks :). sorry for bad english
It’s Visual Studio Code!
Make more videos on oop in python
Would the initialisation still work if we renamed __init__ to something else?
No, to custom initialize a class you need to define the code under the __init__ method
Kylie Ying Thank you! Could you also explain to me __name__ == ‘__main__’? Cheers!
That part is basically saying if you’re directly running the script (ie ‘python3 main.py’) then you run that part under the if.
Then you might ask, when would you not run the script directly? This is the case when we actually define maybe functions or classes in a script (let’s say this is helper.py) and then import them from another file (let’s say main.py). Well in helper.py, I might want to run some stuff to help make sure I’m coding the right thing, but I don’t want these to actually show up when I try running main.py.
If we don’t have that if statement then when we run main.py we actually run whatever random code is in helper.py. But if we add the if statement, then we can import helper without running the random code under the if statement. Does that make sense?
Good practice for making sure your code doesn’t print out random stuff when you have a ton of imports and files.
Kylie Ying Thank you for the succinct reply! I guess these practices will be more helpful as my code gets more complex.
Also ur channel is underrated af keep it up :-)
🥰🥰 thank you!!!
Which text editor is this?
Vscode
True coders start on the floor anyways ...lol I just started python two weeks ago and I'm working on classes now.
thanks appreciate, no bla bla
OBJECTS!!!!!!!!!!!!! AAAAAAARRGGHHH!
Hi world
Hye
mamasita
Miss that old simp in the comments section (:
Sorry dude, it's no simp september. I'll be back next month!
why you cute tho ? thanks dude nice lesson
Ok I need to re watch the self part I understand the code and result but self nope 😅
Hahahahah think of yourself as a “Person” object. We are all instanced of the Person object. In order to get the person’s name you do self.name for example which refers to that person’s self.... it tells the object to look at that specific instance and look for the attribute... does that make more sense?
this video's learning curve is toooo steep.....
oh shit the class is the worst topic I struggle