technifyed

freeCodeCamp via YouTube Free video

Python Object Oriented Programming (OOP) - Full Course for Beginners

Overview

In this comprehensive and beginner-friendly course, you will learn all of the tools that you need to become a great OOP programmer, writing clean and maintainable software.

What you will learn:

The fundamentals of OOP: creating classes and objects, attributes and methods, getters and setters, properties, static attributes and methods, access modifiers.

OOP Principles such as inheritance, encapsulation, abstraction, polymorphism.

💻 Github repo: github.com/DoableDanny/oop-in-python-course

✏️ Course created by Dan Adams. Check out his channel: youtube.com/channel/UC0URylW_U4i26wN231yRqvA

A Python Beginner-to-Advanced OOP course is also available, in video and book form:

🔗 Full Udemy course: udemy.com/course/python-oop-object-oriented-programming-from-beginner-to-pro/

🔗 eBook PDF: doabledanny.gumroad.com/l/python-oop-beginner-to-pro

🔗 Amazon Kindle eBook & physical book: amazon.com/dp/B0DR6ZPZQ8

❤️ Try interactive Python courses we love, right in your browser: https://scrimba.com/freeCodeCamp-Python (Made possible by a grant from our friends at Scrimba)

⭐️ Contents ⭐️

(0:00:00) Intro

(0:04:16) Creating classes and objects

(0:15:15) Combining objects

(0:21:43) Recap: classes, objects, attributes, methods and self

(0:26:46) Example: a Person class

(0:34:42) Accessing and modifying object data

(0:41:13) Access modifiers: protected attributes

(0:45:39) When should you make an attribute protected?

(0:48:37) Python's "Consenting Adults" philosophy and private attributes

(0:51:17) When to use protected vs private attributes

(0:53:27) Creating getter and setter methods

(0:57:22) Why do we create getters and setters?

(1:03:37) Properties: creating a getter property. Properties vs getters and setters

(1:10:39) Properties: creating a setter property

(1:15:39) Static attributes

(1:23:19) Static attributes vs instance attributes

(1:25:13) Static methods

(1:33:20) Static methods: when to use them?

(1:34:46) Protected and private methods

(1:39:55) Encapsulation

(1:51:53) Encapsulation: why is it important?

(1:55:10) Abstraction

(2:05:08) Inheritance

(2:15:49) Polymorphism: intro and naive solution

(2:25:06) Polymorphism: refactored solution

(2:35:35) Conclusion

🎉 Thanks to our Champion and Sponsor supporters:

👾 Drake Milly

👾 Ulises Moralez

👾 Goddard Tan

👾 David MG

👾 Matthew Springman

👾 Claudio

👾 Oscar R.

👾 jedi-or-sith

👾 Nattira Maneerat

👾 Justin Hual

--

Learn to code for free and get a developer job: https://www.freecodecamp.org

Read hundreds of articles on programming: https://freecodecamp.org/news

Chapters 26

  1. 0:00:00Intro
  2. 0:04:16Creating classes and objects
  3. 0:15:15Combining objects
  4. 0:21:43Recap: classes, objects, attributes, methods and self
  5. 0:26:46Example: a Person class
  6. 0:34:42Accessing and modifying object data
  7. 0:41:13Access modifiers: protected attributes
  8. 0:45:39When should you make an attribute protected?
  9. 0:48:37Python's "Consenting Adults" philosophy and private attributes
  10. 0:51:17When to use protected vs private attributes
  11. 0:53:27Creating getter and setter methods
  12. 0:57:22Why do we create getters and setters?
  13. 1:03:37Properties: creating a getter property. Properties vs getters and setters
  14. 1:10:39Properties: creating a setter property
  15. 1:15:39Static attributes
  16. 1:23:19Static attributes vs instance attributes
  17. 1:25:13Static methods
  18. 1:33:20Static methods: when to use them?
  19. 1:34:46Protected and private methods
  20. 1:39:55Encapsulation
  21. 1:51:53Encapsulation: why is it important?
  22. 1:55:10Abstraction
  23. 2:05:08Inheritance
  24. 2:15:49Polymorphism: intro and naive solution
  25. 2:25:06Polymorphism: refactored solution
  26. 2:35:35Conclusion

Advantages and disadvantages

Advantages

  • Completely free, with no ads inside the lessons.
  • Project-based: you build real apps as you learn.
  • freeCodeCamp's own certifications are free and well known among developers.
  • Free, one long video that covers a topic end to end.
  • Use the chapters to jump to what you need.
  • 428,974 views, so help and notes are easy to find.
  • Completely free.
  • Self-paced: start any time.

Disadvantages

  • YouTube videos are long single recordings; you pace yourself.
  • Less theory than a university course.
  • No exercises or certificate: code along to make it stick.
  • No certificate.
  • No graded assignments or feedback.

Some points apply to every course of this kind; see how we rank.

Free

  • Free: Watch on YouTube, no account needed.
  • Certificate: None. Code or take notes along to make it stick.

freeCodeCamp is in Tier 3: good universities, respected companies, nonprofits and well-known teachers of our institution ranking (78/100). Free full courses and certifications; practical, but not university-level depth.

Similar courses

Compare these

Harvard University · YouTube

CS50's Introduction to Programming with Python (CS50P) 2022

This is CS50P, CS50's Introduction to Programming with Python. Register for free at https://cs50.edx.org/python. Slides and source code at https://cs50.harvard.edu/python. Playlist at https://www.youtube.com/playlist?list=PLhQjrBD2T3817j24-GogXmWqO5Q5vYy0V. An introduction to programming using a la…

Free video11 videos, 16 hours

Massachusetts Institute of Technology · YouTube

MIT 6.100L Introduction to CS and Programming using Python, Fall 2022

Instructor: Ana Bell View the complete course: https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/ *Note: Lectures 6, 10 have been updated! This subject is aimed at students with little to no programming experience. It aims to provide students with an under…

Free video26 videos, 28 hours

Harvard University · YouTube

CS50's Web Programming with Python and JavaScript (CS50W) 2020

This is CS50W, CS50's Web Programming with Python and JavaScript. Register for free at https://cs50.edx.org/web. Slides and source code at https://cs50.harvard.edu/web. This course picks up where Harvard University’s CS50 leaves off, diving more deeply into the design and implementation of web apps…

Free video10 videos, 14 hours

Harvard University · YouTube

CS50's Introduction to Artificial Intelligence with Python 2023

This course explores the concepts and algorithms at the foundation of modern artificial intelligence, diving into the ideas that give rise to technologies like game-playing engines, handwriting recognition, and machine translation. Through hands-on projects, students gain exposure to the theory beh…

Free video8 videos, 12 hours

Harvard University · YouTube

CS50's Introduction to Artificial Intelligence with Python 2020

This course explores the concepts and algorithms at the foundation of modern artificial intelligence, diving into the ideas that give rise to technologies like game-playing engines, handwriting recognition, and machine translation. Through hands-on projects, students gain exposure to the theory beh…

Free video8 videos, 13 hours

Massachusetts Institute of Technology · YouTube

MIT 18.S997 Introduction to MATLAB Programming Fall 2011

View the complete course: http://ocw.mit.edu/18-S997F11 Instructor: Yossi Farjoun This course is intended to assist undergraduates with learning the basics of programming in general and programming MATLAB® in particular. License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/term…

Free video6 videos, 50 minutes

Enter your email and the official page opens. Phone is optional.