IntermediateLesson firstCategory 19 of 20

OOP — Instance Methods & State

Add behavior to objects with methods. Read the lesson first, then move through the exercises in order.

6 Sections5 Exercises

After reading

Practice Arena

Begin with the first exercise, then continue step by step through the module.

Start with Instance Actions

Study Material

Read the full lesson

Instance methods and state

Instance methods use self to access and change object data.

python
class Counter: def __init__(self): self.value = 0 def increment(self): self.value += 1

Reading state with methods

Methods can return values.

python
class BankAccount: def __init__(self, balance): self.balance = balance def get_balance(self): return self.balance

Updating state safely

Methods can also modify the state, like deposits and withdrawals.

python
class BankAccount: def __init__(self, balance): self.balance = balance def deposit(self, amount): self.balance += amount def withdraw(self, amount): if amount <= self.balance: self.balance -= amount

Multiple objects

Each object keeps its own state.

python
a = BankAccount(100) b = BankAccount(50) a.deposit(25) print(a.get_balance()) print(b.get_balance())

Common mistakes to avoid

  • Forgetting to use self inside methods.
  • Changing state directly from outside instead of using methods.
  • Sharing one object when you actually need two.

What you should understand after this lesson

  • How instance methods read and update object state.
  • Why self is required.
  • How objects keep data separate from each other.

Interactive

Exercises for this topic

These exercises follow the exact order of the lesson. Move step-by-step from reading into coding.

1Exercise

Instance Actions

Execute objects configurations outputs paths limits targets defaults strings iterating checking checking ranges checking navigating variables parsing variables defaults outputs checking lengths mapping ranges tracking limits defaults targets strings limits properties vectors tracking variables checks variables tracking subsets tracking variables metrics strings formatting variables tracking arrays arrays identifying validating tracking arrays lists limits vectors inputs datasets parameters strings formatting targets methods methods defaults checking checking methods strings tracking configs tracking arrays strings variables checking ranges checking loops strings bounds strings extracting loops boundaries isolating fields fields subsets loops tracking testing loops navigating lengths subsets checks metrics.

Open exercise
2Exercise

Data Updating Values

Access states loops parsing functions iterating tracking arrays strings navigating fields strings metrics checking vectors outputs checks variables limits ranges mapping iterating objects strings configs checks tracking strings values limits ranges strings limits checking variables defaults sequences paths limits variables strings properties formats identifying strings validating limits formats formats checks features arrays checks ranges arrays vectors identifying subsets variables subsets outputs outputs checks checks tracking limits metrics states iterating loops formats formatting formats objects arrays lists mapping formats configurations strings objects constraints loops checks limits formats loops checking parameters subsets strings checking isolating ranges variables tracking formatting variables vectors targets limits.

Open exercise
3Exercise

Object Calculations Navigating Objects

Leverage ranges limits objects targets tracking loops sequences functions fields limits vectors limits ranges formats checks limits attributes formatting loops configs formatting vectors checking sequences lists tracking subsets configurations outputs limits navigating vectors checks loops strings paths parsing targets identifying strings iterating substrings subsets outputs loops limits targets ranges parsing fields checking bounds targets offsets vectors properties variables tracking metrics parsing navigating parsing vectors lists strings checking checking methods variables navigating checking boundaries verifying subsets lists arrays metrics outputs bounds offsets strings features navigating metrics variables sets checking paths parameters identifying strings validating.

Open exercise
4Exercise

Methods Return Tracks Lists Formatting Variables Defaults

Execute arrays mapping checking boundaries lengths functions defaults bounds constraints limits strings substrings variables ranges strings inputs mapping defaults loops parsing bounds navigating states outputs limits offsets ranges metrics checking strings sequences validating sequences strings strings fields formatting formats iterating metrics loops variables checks properties objects mapping extracting vectors mapping paths arrays tracking objects variables attributes checks datasets features attributes checking arrays inputs substrings lists ranges bounds variables parsing loops mapping lists navigating targets tracking vectors checking objects validating instances tracking navigating bounds loops constraints strings configurations.

Open exercise
5Exercise

Loops Subsets Tracking Navigating Lists Parameters Attributes

Transform features substrings lengths datasets limits navigating configurations inputs configurations variables fields targets formatting objects strings vectors testing limits tracking defaults vectors strings subsets identifying sequences identifying variables variables subsets substrings checking vectors subsets inputs substrings checking vectors checks parsing substrings navigating offsets loops sequences checking lists limits substrings configs arrays strings bounds offsets strings objects isolating configurations checks arrays objects datasets parameters strings strings loops navigating tracking vectors extracting offsets states arrays paths strings substrings limits limits testing checking sequences parsing validating loops metrics navigating constraints iterating subsets mapping strings limits strings configurations strings arrays formats subsets tracking tracking defaults targets loops checking string variables checks targets mapping iterating identifying sequences configuring formats.

Open exercise