Python OOP Full Course for Beginners π
Learn Python Object-Oriented Programming from scratch, mastering tools to write clean, maintainable code in this beginner-friendly course.

freeCodeCamp.org
275.8K views β’ Jan 29, 2025

About this video
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
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
Video Information
Views
275.8K
Likes
5.9K
Duration
02:36:25
Published
Jan 29, 2025
User Reviews
4.7
(55) Related Trending Topics
LIVE TRENDSRelated trending topics. Click any trend to explore more videos.