Using Classes and Objects in Python | Learning Python for Beginners | Code with Kylie #9

Sdílet
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

Komentáře • 89

  • @yonassisay3061
    @yonassisay3061 Před 4 lety +9

    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 : ?

    • @KylieYYing
      @KylieYYing  Před 4 lety +22

      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?

    • @KylieYYing
      @KylieYYing  Před 4 lety +19

      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

    • @yonassisay3061
      @yonassisay3061 Před 4 lety +2

      Tnx i understand, again tnx alot

    • @vincentludwig9584
      @vincentludwig9584 Před 3 lety

      @Alijah Mathias < Scammer

    • @kasrasharafi5007
      @kasrasharafi5007 Před 2 lety

      Awsome👌

  • @pythonantole9892
    @pythonantole9892 Před rokem +2

    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!

  • @hartsgrace1205
    @hartsgrace1205 Před 2 lety +1

    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!!!

  • @echoic-yl5wj
    @echoic-yl5wj Před rokem

    Watched almost all popular OOP videos and this one helped me understand it a whole lot more, thank you

  • @paulcap9688
    @paulcap9688 Před 2 lety

    Hands down one of the clearest explanations of basic Python on YT. Thanks so much for your vides Kylie

  • @jjjjjkkkkk
    @jjjjjkkkkk Před 2 lety

    Kylie, I've just watched 5 videos on classes back to back and this was by far the best explanation.

  • @teacherinthailan6441
    @teacherinthailan6441 Před 3 lety +3

    Excellent lesson! You really are a great teacher. Thanks once again.

  • @Grace-p2z
    @Grace-p2z Před 10 měsíci

    You motivate me to do better!!! I struggle with this simple concept!!!

  • @BlueGuitarMusic
    @BlueGuitarMusic Před 3 lety +3

    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!

  • @elementour
    @elementour Před 3 lety +4

    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

  • @sebastiansuarez9883
    @sebastiansuarez9883 Před 4 lety +3

    I do not code and do not ever plan on it, but I watch all your vids!

  • @KylieYYing
    @KylieYYing  Před 4 lety

    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

  • @royjuarez664
    @royjuarez664 Před rokem

    You are a good teacher.

  • @bhaithrinley9602
    @bhaithrinley9602 Před 2 lety

    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

  • @cgmsounds
    @cgmsounds Před 2 lety

    I love you didnt wait to get your desk to do this.

  • @arpeggio1231
    @arpeggio1231 Před 2 lety +1

    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

  • @mlungisindlela6810
    @mlungisindlela6810 Před rokem

    Thank you so much Kylie

  • @mlungisindlela6810
    @mlungisindlela6810 Před rokem

    You literally started my career in coding

  • @ayanupadhaya6972
    @ayanupadhaya6972 Před 3 lety +1

    I love you Kylie, you are so great at teaching...

  • @chude_o
    @chude_o Před 3 lety

    Great tutorial. Been struggling with classes a lot and this really helps.❤❤❤

  • @forhadali5927
    @forhadali5927 Před 2 lety +1

    Nice vedio i am from Bangladesh

  • @codevsgame
    @codevsgame Před 2 lety

    “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!!

  • @rachitmehta7738
    @rachitmehta7738 Před 3 lety +2

    Hi . I have one doubt:
    1) What is the need for
    if __name__ == '__main__':

    • @tunamusic2314
      @tunamusic2314 Před 3 lety +1

      i also don't understand that. can anyone explain ???

  • @saswatighosh3162
    @saswatighosh3162 Před 3 lety

    U are so talented ,indeed an inspiration to me!

  • @pierreissa3179
    @pierreissa3179 Před 2 lety

    your videos are very helpful.
    Thank you so much.

  • @gblakney
    @gblakney Před 2 lety

    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!

  • @vincentludwig9584
    @vincentludwig9584 Před 3 lety +3

    12:05

  • @magdalineidogun5935
    @magdalineidogun5935 Před 2 lety

    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

  • @rajathpd3513
    @rajathpd3513 Před 3 lety

    Loved the video! It helped a lot!

  • @sushma6274
    @sushma6274 Před 3 lety

    Very nice explanation!!!

  • @ankithrajashekar2406
    @ankithrajashekar2406 Před 3 lety

    Ahh your videos are so helpful! Coding is fun who knew?! Well I guess you did😂

  • @pythonholic
    @pythonholic Před 2 lety

    Thank you queen ♥️♥️♥️

  • @shashidharmuniswamy2620

    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?

  • @t0mcat-
    @t0mcat- Před 2 lety

    Thank you Teacher Kylie

  • @ghostwhowalks5623
    @ghostwhowalks5623 Před 2 lety

    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"......

  • @processorbot8761
    @processorbot8761 Před 4 lety +1

    I love your channel Kylie :-D

  • @HDArtzy
    @HDArtzy Před 2 lety

    thank you

  • @witthayamaidee9430
    @witthayamaidee9430 Před 2 lety

    Thank you Kylie

  • @omarkalom1962
    @omarkalom1962 Před 4 lety

    Thank you Kylie.

  • @gitaralang
    @gitaralang Před rokem

    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!

  • @wah704
    @wah704 Před 2 lety

    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!

  • @vass8438
    @vass8438 Před rokem

    Kylie, when I execute this code in Pycharm (windows) I get
    what am not doing right?

  • @mohgawsih6958
    @mohgawsih6958 Před 3 lety +4

    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

  • @getoverhere4465
    @getoverhere4465 Před 4 lety

    Nice!

  • @DonovanKong
    @DonovanKong Před 4 lety

    Appreciate the lesson Kylie! #nodeskgang!

  • @brunoavelar4003
    @brunoavelar4003 Před 3 lety

    Why do you run your program with the terminal app? Isn't it more efficient to just press "run" in the text editor?

    • @KylieYYing
      @KylieYYing  Před 3 lety

      Sometimes you need to control which directory you run it from and tbh I like terminal because it makes me look cool hahaha

  • @rachitmehta7738
    @rachitmehta7738 Před 3 lety

    Great tutorials .
    I fpossible could you make tutorials for python app development too . Thanx . :)

  • @teaspells9994
    @teaspells9994 Před 3 lety

    But how don't use this for real world projects?

  • @AbhiShekA-A
    @AbhiShekA-A Před 4 lety +1

    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 .

    • @KylieYYing
      @KylieYYing  Před 4 lety +1

      Yes, the plan is to do more projects after I’m doing with the intro python series

    • @KylieYYing
      @KylieYYing  Před 4 lety +1

      I will also be redoing some projects (hangman/tic tac toe)!! Now that I’m better at making coding videos haha

  • @martaklis7096
    @martaklis7096 Před 11 měsíci

    could You please, explain me line 27 ?(;

  • @opthumara1463
    @opthumara1463 Před 3 lety

    mam can you tell me what is the use of __name__ ?

  • @pauluseche2932
    @pauluseche2932 Před 3 lety

    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

  • @aravind_ontagodi
    @aravind_ontagodi Před 3 lety

    Make more videos on oop in python

  • @MrHorse16
    @MrHorse16 Před 4 lety

    Would the initialisation still work if we renamed __init__ to something else?

    • @KylieYYing
      @KylieYYing  Před 4 lety +1

      No, to custom initialize a class you need to define the code under the __init__ method

    • @MrHorse16
      @MrHorse16 Před 4 lety

      Kylie Ying Thank you! Could you also explain to me __name__ == ‘__main__’? Cheers!

    • @KylieYYing
      @KylieYYing  Před 4 lety +2

      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.

    • @MrHorse16
      @MrHorse16 Před 4 lety

      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 :-)

    • @KylieYYing
      @KylieYYing  Před 4 lety

      🥰🥰 thank you!!!

  • @musicNmusique
    @musicNmusique Před 4 lety

    Which text editor is this?

  • @helovesdata8483
    @helovesdata8483 Před 3 lety

    True coders start on the floor anyways ...lol I just started python two weeks ago and I'm working on classes now.

  • @fhnine2698
    @fhnine2698 Před 8 měsíci

    thanks appreciate, no bla bla

  • @aaravagarwal7806
    @aaravagarwal7806 Před 3 lety

    OBJECTS!!!!!!!!!!!!! AAAAAAARRGGHHH!

  • @adonis9555
    @adonis9555 Před 3 lety

    Hi world

  • @ig2247
    @ig2247 Před 2 lety

    Hye

  • @diegos2184
    @diegos2184 Před 2 lety

    mamasita

  • @Ihavetoreturnsomevideotapes

    Miss that old simp in the comments section (:

    • @KeithGalli
      @KeithGalli Před 4 lety

      Sorry dude, it's no simp september. I'll be back next month!

  • @metehand8838
    @metehand8838 Před 2 lety

    why you cute tho ? thanks dude nice lesson

  • @francoisjarzabek1412
    @francoisjarzabek1412 Před 4 lety

    Ok I need to re watch the self part I understand the code and result but self nope 😅

    • @KylieYYing
      @KylieYYing  Před 4 lety +4

      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?

  • @YM-lm8xr
    @YM-lm8xr Před 3 lety

    this video's learning curve is toooo steep.....

  • @javhaasuhochir8126
    @javhaasuhochir8126 Před 2 lety

    oh shit the class is the worst topic I struggle