# Classes and Objects
class ClassName:
def __init__(self, parameter1, parameter2):
self.parameter1 = parameter1
self.parameter2 = parameter2
def method_name(self):
# Code executed by the method
object_name = ClassName(parameter1, parameter2) # Create an object
object_name.method_name() # Access object's methods
In Python, classes and objects are the foundation of object-oriented programming (OOP). A class is a blueprint for creating objects, while an object is an instance of a class. Classes define attributes (variables) and methods (functions) that represent the characteristics and behaviors of objects. Let's explore some examples to understand classes and objects in Python.
Example 1: Creating a simple class and object:
```python
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def display_info(self):
print(f"Car: {self.year} {self.make} {self.model}")
# Creating objects (instances) of the Car class
car1 = Car("Toyota", "Corolla", 2022)
car2 = Car("Honda", "Civic", 2023)
# Accessing attributes of objects
print(car1.make) # Output: Toyota
print(car2.model) # Output: Civic
# Calling methods of objects
car1.display_info() # Output: Car: 2022 Toyota Corolla
car2.display_info() # Output: Car: 2023 Honda Civic
```
Example 2: Class inheritance - Creating a subclass:
```python
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
raise NotImplementedError("Subclasses must implement this method.")
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
# Creating objects of subclasses
dog = Dog("Buddy")
cat = Cat("Whiskers")
# Calling methods of subclasses
print(dog.name, "says", dog.speak()) # Output: Buddy says Woof!
print(cat.name, "says", cat.speak()) # Output: Whiskers says Meow!
```
Example 3: Class attributes and methods:
```python
class Circle:
# Class attribute
pi = 3.14159
def __init__(self, radius):
self.radius = radius
# Class method
@classmethod
def get_pi(cls):
return cls.pi
# Instance method
def area(self):
return self.pi * self.radius * self.radius
# Creating an object of the Circle class
circle = Circle(5)
# Accessing class attribute using class method
print("Pi value:", Circle.get_pi()) # Output: Pi value: 3.14159
# Calling instance method
print("Circle area:", circle.area()) # Output: Circle area: 78.53975
```
Example 4: Class with a special method (dunder method):
```python
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
# Dunder method to display object information
def __str__(self):
return f"Name: {self.name}, Age: {self.age}"
# Creating an object of the Student class
student = Student("Alice", 21)
# Using the __str__ dunder method to get object information
print(student) # Output: Name: Alice, Age: 21
```
These examples showcase the basics of classes and objects in Python. Classes help you create reusable and structured code, making it easier to manage data and functionality within your programs. They are fundamental to implementing object-oriented concepts such as encapsulation, inheritance, and polymorphism.
Comments
Post a Comment