Introduction to OOP
Understand objects, classes, and methods.
Introduction to OOP is a free Python For Kids lesson on CoddyKit — lesson 1 of 5. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Python For Kids learning path, one of 5 lessons in the course, and your progress syncs across the web and the CoddyKit app.
1
Introduction to OOP
Welcome to the Object-Oriented Programming (OOP) lesson! Today, we'll explore the basics of OOP in Python, including objects, classes, and methods. OOP helps you create organized and reusable code.

2
What is Object-Oriented Programming?
Object-Oriented Programming (OOP) is a programming paradigm that uses "objects" to design applications. It helps in organizing code by bundling related properties and behaviors into individual objects.
- Objects: Instances that represent real-world entities.
- Classes: Blueprints for creating objects.
- Methods: Functions that belong to a class or object.
Let's dive deeper into these concepts!
3
Objects and Classes
In OOP, everything revolves around objects and classes.
- Class: Think of a class as a blueprint or template for creating objects.
- Object: An instance of a class. It represents a specific entity based on the class blueprint.
For example, consider a class called Car. Each Car object can have its own color, make, and model.
4
Defining a Class
You can define a class in Python using the class keyword, followed by the class name and a colon. Inside the class, you can define attributes and methods.
Syntax:
class ClassName:
def __init__(self, attribute1, attribute2):
self.attribute1 = attribute1
self.attribute2 = attribute2
def method_name(self):
# Code for method
pass5
Creating Objects
Once you've defined a class, you can create objects (instances) from it by calling the class name like a function.
Example:
# Defines the Car class
class Car:
def __init__(self, make, model):
self.make = make # Sets the make of the car
self.model = model # Sets the model of the car
def display_info(self):
print("Car Make:", self.make) # Prints the make of the car
print("Car Model:", self.model) # Prints the model of the car
# Creates an object of the Car class
my_car = Car("Toyota", "Corolla")
# Calls the display_info method of the object
my_car.display_info()
6
Class Attributes and Methods
Attributes are variables that belong to a class or object, while methods are functions that perform actions related to the class.
- Attributes: Characteristics of the object (e.g., color, size).
- Methods: Actions the object can perform (e.g., drive, stop).
Let's see an example with a class that has both attributes and methods.
7
Example: Creating a Simple Class
We'll create a simple Dog class with attributes and methods.
Example:
# Defines the Dog class
class Dog:
def __init__(self, name, breed):
self.name = name # Sets the name of the dog
self.breed = breed # Sets the breed of the dog
def bark(self):
print(self.name + " says Woof!") # Dog barks
# Creates an object of the Dog class
my_dog = Dog("Buddy", "Golden Retriever")
# Calls the bark method
my_dog.bark()
8
Instance vs. Class Variables
Variables in a class can be categorized into:
- Instance Variables: Unique to each object instance.
- Class Variables: Shared across all instances of the class.
Let's see how to use both types of variables.
9
# Defines the Student class with a class variable
class Student:
school = "XYZ High School" # Class variable
def __init__(self, name):
self.name = name # Instance variable
def display_info(self):
print(self.name + " attends " + Student.school) # Prints student info
# Creates two objects of the Student class
student1 = Student("Alice")
student2 = Student("Bob")
# Calls the display_info method for both students
student1.display_info()
student2.display_info()
10
Great Job!
You've learned the basics of Object-Oriented Programming (OOP) in Python, including objects, classes, attributes, and methods. OOP helps you organize your code more effectively and create reusable components. Keep practicing by creating your own classes and objects to strengthen your understanding!

Frequently asked questions
Is the “Introduction to OOP” lesson free?
Yes — the full text of “Introduction to OOP” is free to read here on the web, and the Python For Kids course includes 5 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Python For Kids course, upgrade to CoddyKit PRO.
What will I learn in “Introduction to OOP”?
Understand objects, classes, and methods. You practise Python For Kids with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Python For Kids?
No prior experience is required. Python For Kids on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 5, so you can start here or from the beginning and move at your own pace.
How long does the “Introduction to OOP” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Python For Kids lesson?
Yes. Every Python For Kids lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Introduction to OOP
- Creating Classes and Objects
- Inheritance
- Encapsulation
- Polymorphism