class Model:
def increment(self):
print("There's nothing to increment!")
= Model()
model # There's nothing to increment! model.increment()
There's nothing to increment!
🧱 Objects are instances of classes. They bundle data (attributes) and functionality (methods) into reusable blueprints. Object-oriented programming (OOP) helps organize and scale complex programs.
Use class
to define a class. Then, create an object (an instance of that class).
__init__
MethodUse __init__
to initialize an object with data when it’s created.
Objects can store data in attributes accessed using dot notation.
Functions defined inside a class are called methods. They usually take self
as the first argument.
Each object is unique and has its own identity in memory.
Instance attributes belong to one object. Class attributes are shared across all instances.
super()
A child class can inherit from a parent class. Use super()
to call the parent’s methods.
class Calculator:
def __init__(self, number1, number2):
self.number1 = number1
self.number2 = number2
self.result = self.add(number1, number2)
def add(self, number1, number2):
return number1 + number2
class Model(Calculator):
def __init__(self, number1, number2):
super().__init__(number1, number2)
def print_result(self):
print(f"The result is {self.result}!")
model = Model(1, 1)
model.print_result() # The result is 2!
print(model.result) # 2
The result is 2!
2
Some frequent errors encountered when dealing with Objects in Python.
class Model:
def increment():
print("There's nothing to increment!")
model = Model()
model.increment()
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[8], line 6 3 print("There's nothing to increment!") 5 model = Model() ----> 6 model.increment() TypeError: Model.increment() takes 0 positional arguments but 1 was given
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[9], line 5 2 def __init__(self, number): 3 self.number = number ----> 5 model = Model() TypeError: Model.__init__() missing 1 required positional argument: 'number'