Python OOP - Object Oriented Programming for Beginners
What you'll learn
- The principles of Object Oriented Programming (OOP) using Python.
- How the elements of Object Oriented Programming work behind the scenes.
- Understand how classes work and how you can create instances from classes.
- Implement and call methods. Understand their purpose within classes.
- Define instance attributes and class attributes. Learn their differences.
- Use 'self' to refer to instances. Learn how it works behind the scenes.
- Work with inheritance to reuse code, improve design, and avoid repetition.
- Practice key aspects of OOP such as Docstrings and Special Methods.
- Basic Python and programming knowledge (data types, variables, conditionals, loops, and functions).
- Basic knowledge of lists, tuples, and dictionaries is required to complete the mini projects.
- Python 3 and PyCharm, IDLE or any other Python IDE of your choice. PyCharm is used during the video lectures.
- Coding exercises can be submitted directly in the browser.
Learn Object Oriented Programming (OOP) in Python with mini projects, hands-on practice, and carefully designed visual explanations. Understand how the elements and abstract concepts of OOP work behind the scenes. Apply your knowledge to new scenarios.
Object Oriented Programming is Your Next Step Into the In-demand and Powerful World of Python
Create and work with classes and instances to write Python programs.
Understand how they work behind the scenes.
Learn when to use instance attributes vs. class attributes.
Implement and call methods. Understand their purpose.
Take advantage of the power of inheritance to avoid code repetition.
Use key concepts like Docstrings and Special methods in your programs.
"It's a wonderful course! It's very methodical and detail. It helps you build a very strong foundation in OOP in python. Highly recommended for beginners." - Xin Chu
"Even total noob will understand the OOP here :)" — Łukasz Bryzek
"I love how the instructor explains things in simple language and relates it to everyday life. I actually understand! I'm just at the beginning of the course and am excited about continuing." — Donny Lobree
"I would strongly recommend this course if you are new to programming and want to master the basics of OOP." — Demayne Collins
"The learning sticks. The coverage of Python classes here, for me, has been better than how this topic has been covered in a couple of other Python classes I have from more well-established Python instructors. Hats of to the instructor for putting this together." — Thomas P
"Perfect for persons without any clue in oop!" — Patrick Onegin
The course is frequently updated with new lectures, projects, and resources:
July 2022 - NEW! New Project: Dice Game
May 2022 - NEW! Updated Section 1
Nov 2021 - NEW! Updated quizzes with detailed explanations for the answers.
Sept 2021 - NEW! Updated Tic-Tac-Toe Project (new lectures and code).
Jun 2021 - NEW! Updated Python files and quizzes.
Jun 2021 - NEW! War Card Game Project.
Jun 2021 - NEW! Complete Course Update (New Lectures and Resources).
Apr 2021 - NEW! Final Project: Implementing a Data Structure with OOP (a Linked List).
Apr 2021 - NEW! Q&A Featured Questions.
Apr 2021 - NEW! Downloadable PDF OOP Poster, notes format, and code format.
Nov 2020 - NEW! Tic-Tac-Toe Project.
Oct 2020 - NEW! Updated quizzes, mini projects, and first two sections.
Oct 2020 - NEW! Badges to collect at the end of each section.
Oct 2020 - NEW! Articles "“What is None?” and "Method Chaining"
Oct 2020 - NEW! Section quizzes.
Oct 2020 - NEW! PDF study guide with questions to help you review.
Nov 2019 - NEW! Complete course update with new video lectures and downloadable resources.
Sept 2019 - NEW! Updated tips handout, content handout, and course wallpapers.
Sept 2019 - NEW! Downloadable Python files for each section.
Sept 2019 - NEW! PDF Handouts for each section.
July 2019 - NEW! Article "Inheritance in Context".
July 2019 - NEW! Solutions for the Coding Exercises.
July 2019 - NEW! New mini projects for each section.
Add New Python Skills To Your Resume
Python is currently one of the most popular programming languages and its popularity continues rising every year. It is used for real-world applications in diverse areas such as Data Science, Game Development, Web Development, Machine Learning, Artificial Intelligence, and many more. Learning Object Oriented Programming in Python is your next step into the powerful world of computer science.
Content & Overview
With high-quality video lectures that include graphics and animations, you will learn and work with these concepts:
The 'self' parameter
.... and more!
You will build a Tic-Tac-Toe game and a text-based version of the War Card Game following the principles of Object Oriented Programming.
Learning Material & Resources
Throughout the course, you will find these resources:
Video lectures: carefully designed graphics, animations, and explanations.
Dice Game: you will build an interactive dice game using the principles of Object-Oriented Programming.
Tic-Tac-Toe Game: you will build a working tic-tac-toe game using the principles of Object Oriented Programming.
War Card Game Project: you will create a text-based version of the War Card Game using the principles of Object Oriented Programming.
Final Project: you will implement a data structure in Python (a Linked List) with step-by-step explanations, practical exercises, and featured questions.
Mini Projects: you will apply your knowledge at the end of each section with mini projects.
Solutions to the Mini Projects: each mini project has its corresponding solution.
PDF Handouts: unique study guides with graphical summaries of the key aspects of each section.
Coding Exercises: practice key concepts with the coding exercises.
Solutions of the Coding Exercises: each coding exercise has its corresponding solution.
Quizzes: check your knowledge interactively after each lecture with short quizzes that have unlimited attempts.
Python Files: download the code used for each section as a compressed (.zip) file with individual python (.py) files.
Articles: read complementary articles to expand your knowledge.
Course Poster: track your progress with a poster that you can cross out as you complete each section.
Cornell Notes Format: take notes with this PDF format and follow the Cornell Note-taking System.
Code Notebook Format: download a PDF format to write your code manually if you prefer, and add your notes and comments.
Discussion Forums: ask questions on the discussion forums and discuss interesting topics with your peers.
Why is this course unique?
This course is unique because of its emphasis on providing visual and detailed explanations of how the elements of Object Oriented Programming (OOP) work behind the scenes, so you will not only learn how to use them in Python, you will actually understand what each line of code does behind the scenes.
During the course, you will apply your knowledge by completing mini projects that simulate simplified real-world scenarios such as fixing classes in a bakery system, representing bacteria for educational software using instance attributes, implementing inheritance for a videogame, completing the system of a vending machine, and many more. Each mini project includes its corresponding solution.
Unique study materials complement the course experience. You will find PDF handouts specifically designed for the course with a graphical summary of the key aspects of each section.
You will solve coding exercises directly on the browser and you will receive instant feedback for your submission.
You will check your knowledge with short Quizzes after each main lecture. The Quizzes provide instant feedback, so you can see the correct answer immediately. The quiz questions were designed to make you think more deeply about the topics presented.
You will receive a certificate of completion that you can add to your social media profiles to showcase your new skills.
You will also have lifetime access to the course and to all the new additions.
You are very welcome to watch the preview lectures and check out the full course curriculum.
If you are looking for an engaging, visual, and practical course, you've found it.
Add "Object Oriented Programming in Python" to your resume and showcase your new skills!
Who this course is for:
- New developers who know the basics of Python and would like to expand their knowledge.
- Developers and Students who want to learn how to work with Object Oriented Programming.
- Self-taught developers who wish to dive into the world of Object Oriented Programming from the basics.
- Programmers who need to refresh their knowledge on this topic.
My goal is to create engaging courses where you will learn programming and understand it so well that you will be able to apply your knowledge to new situations, projects, and professional opportunities. I know that learning how to code can be challenging, but I'm here to make your journey smoother and to help you create memories that you will never forget about how you learned how to code.
I currently have 11,000+ students and 10+ courses on Udemy and my top priority is to support you by answering every single one of your questions. I'm here to help you, so please do not hesitate to ask if you ever have a question during my courses.
I believe that detailed and clear explanations combined with the power of visual learning materials create the learning experience that every learner deserves. That is the experience that I want to give you during my courses.
Coding is amazing. I love programming, data structures, algorithms, and I know what it feels like when you learn something new and you are able to create a new project or product just with your computer and a few lines of code. It's like magic!
I'm part of the freeCodeCamp staff, where I create coding courses and write articles on computer science and programming. My 26+ articles for this publication have received 2,400,000+ views with 5,000+ views per day, on average. I run the freeCodeCamp Espanol YouTube channel that currently has 70,000+ subscribers and I create full courses for this channel.
I served as Community Teaching Assistant (Community TA) for the Massachusetts Institute of Technology on edX (MITx) for the course "Introduction to Computer Science and Programming Using Python" where I help by writing tutorials and creating diagrams to complement the course content.
My "Python OOP - Object Oriented Programming for Beginners" was selected for Udemy for Business, a curated collection of top Udemy courses used for corporate training.
So... I'm here for you. If you choose one of my courses, I promise you that you will find an engaging and carefully crafted learning experience. Thank you very much for reading more about me and I will see you in the courses :).