Object Oriented Programming with Python – Full Course for Beginners

Ecommerce Empire Academy

Object Oriented Programming is an important concept in software development. In this complete tutorial, you will learn all about OOP and how to implement it using Python.

💻 Code:

🔗 Tutorial referenced for a deeper explanation about __repr__:

✏️ Course developed by Jim from JimShapedCoding. Check out his channel:

⭐️ Course Contents ⭐️
⌨️ (0:00:00) Getting Started with Classes
⌨️ (0:12:11) Constructor, __init__
⌨️ (0:50:35) Class vs Static Methods
⌨️ (1:13:22) Inheritance
⌨️ (1:30:14) Getters and Setters
⌨️ (1:51:00) OOP Principles

🎉 Thanks to our Champion and Sponsor supporters:
👾 Wong Voon jinq
👾 hexploitation
👾 Katia Moran
👾 BlckPhantom
👾 Nick Raker
👾 Otis Morgan
👾 DeezMaster
👾 AppWrite

Learn to code for free and get a developer job:

Read hundreds of articles on programming:

And subscribe for new videos on technology every day:

40 thoughts on “Object Oriented Programming with Python – Full Course for Beginners”

    1. Immortal Nepali FF

      @JAHEER AZAMclass Same:
      def __init__(self):

    2. Thanks , but first you said that this is the course for being sure we don’t need other courses to complete the contents but in the end of video you said I am not going to cover abstract classes in that part , where we should learn abstract classes , interfaces and class templates?

  1. I find myself especially loving the structure of this OOP tutorial, it comes from a Funtional programming aspect and gradually lead you into OOP with examples, as oppose to other tutorials where they directly introduce you to concepts like inheritence/settters etc.. This makes my understanding of OOP much more clearer and structred. Big thanks to FCC and the lecturer!

  2. I’m only 20 minutes in and already several concepts that were blurry before are now crystal clear to me. Excellent video!

  3. Sir, thank you for this absolutely fantastic run through of object oriented programming. I was struggling with some of these concepts in using python to build a Django website, but this tutorial cleared up a TON of information. Very well done, I along with 100K+ others, are incredibly grateful that you took the time to put this together to clear up some confusing concepts.

  4. OMG!!! I am finished only 23:30 and this so amazing!! Looks like this video is going to be in my permanent youtube storage vault!:):) I already have decided to watch it more than once. Already cleared up a few critical concepts that I was struggling with. You have an amazing explanation power.

  5. Awosise Oluwaseun

    The is_integer function name almost confused me. is_integer is a method on its own in python so I thought you were calling your defined function inside the function itself. I’m clear now, made me research more and I’m happy about that. An awesome video by the way, I’ve mastered OOP basics from this. Thanks so much.

    1. Jesus, this was super confusing. I guess he could have called his staticmethod like “check_if_is_integer” to make a difference from the inbuilt function. Super awesome video anyways!

    2. @StarFury2 1:09:00 One thing which you could also observe was that there were no parameters passed when calling the is_integer() {in line 45}, so no way would the is_integer method of the item class would be called, as that would require passing num parameter. But yeah, this was confusing at first glance!

  6. 20 mins in and so many concepts are made clear and so quickly and efficiently. Thanks the instructor and FCC.

  7. Michael DiMattia

    Thank you for such a clear and detailed tutorial! This helped deepen my understanding of these concepts. Absolutely worth watching!

  8. Just completed the whole video and this is hands down the best object oriented programming course I’ve ever come across. I’ve been trying to understand what exactly OOP is all these days by reading blogs and going through different tutorials. Nothing gave me as much clarity as this video did. Thanks a lot for the great work and for giving this out for free!

  9. 1. In the run validations to arguments part, if you aren’t getting an error when you use an integer as the name, type in assert type(name) == str. This will not accept anything other than an integer as the name.

    2. Make sure you have no spaces between the list in the items.CSV file. Its a minor thing but gave me a headache since I couldn’t get past that for a while. Then do the normal int(item.get()) then it works fine.

    Finally most of the issues I encountered were as a result of not looking at the code long enough. If you encounter a problem, make sure to re watch the part where he DOS it and make sure you got it correct. This happened to me at the Len part and a few others.

    Finally if you encounter s problem not stated here, then copy the error and paste it in your browser. This shows a stackoverflow page first where you can figure out what’s wrong.

    Hope this helps you and you don’t have to go through the headache I did when solving those lol

    1. zorodi elirido

      #2 gave me such a headache as well. i think i would still be sitting here trying to figure it out if i didn’t see your comment. thanks!

  10. Mohan Prajapati

    Simply perfect ! Though I was doing revision but it helped me in learning the concepts easily.

  11. alper kılıç

    1:08 “is_integer” is a float method, since the name of the written method and the float method name are the same, there is a misunderstanding as if the method is calling itself again. It was a confusing example. It took me a long time to understand and figure out what was going on.
    7.0.is_integer() return True 🙂

    1. Karoline Silva

      Thanks for this comment alper! I assumed it wasn’t recursion but was scanning the comments for this confirmation.

  12. The practical way of explaining and the gradual pull into the concept was awesome. I am finally understanding. Thank you so much

  13. Feseha Abebe-Akele

    Very practical and understandable take on OOP in python. Greatly recommended to people with a beginner level knowledge of python and need to add OOP to their python tool kit.

  14. This guy is amazing. He has taught me Selenium, Classes and I’m sure many more things in the future. Keep up the good work Jim, you’re a beast!

  15. This is the most comprehensive and friendly tutorial on Python OOP I have seen so far. Thanks for this Jim

  16. Learned a lot from this course, helped me to understand OOP better. Thank you so much, Jim and FCC.

  17. Gideon Idumah

    This guy is very good with explaining and teaching. I really learnt a lot from about OOP that had been confusing to me. Thank you so much

Comments are closed.