bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/Python/Object-Oriented Python
Python•Object-Oriented Python

Python Class Methods

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind Python Class Methods?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ Person:
3Order

Put the learning moves in the order that makes the concept easiest to apply.

Methods Modifying Properties
Methods Accessing Properties
Methods with Parameters

Class Methods

Methods are functions that belong to a class. They define the behavior of objects created from the class.

Example

class Person:
  def __init__(self, name):
    self.name = name
  def greet(self):
    print("Hello, my name is " + self.name)
    p1 = Person("Emil")
    p1.greet()

Note

All methods must have self as the first parameter.

Methods with Parameters

Methods can accept parameters just like regular functions:

Example

class Calculator:
  def add(self, a, b):
    return a + b
  def multiply(self, a, b):
    return a * b
  calc = Calculator()
  print(calc.add(5, 3))
  print(calc.multiply(4, 7))

Methods Accessing Properties

Methods can access and modify object properties using self :

Example

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def get_info(self):
    return f"{self.name} is {self.age} years old"
    p1 = Person("Tobias", 28)
    print(p1.get_info())

Methods Modifying Properties

Methods can modify the properties of an object:

Example

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def celebrate_birthday(self):
    self.age += 1
    print(f"Happy birthday! You are now {self.age}")
    p1 = Person("Linus", 25)
    p1.celebrate_birthday()
    p1.celebrate_birthday()

The __str__() Method

The str() method is a special method that controls what is returned when the object is printed:

__str__()
__str__()

Multiple Methods

A class can have multiple methods that work together:

Example

class Playlist:
  def __init__(self, name):
    self.name = name
    self.songs = []
  def add_song(self, song):
    self.songs.append(song)
    print(f"Added: {song}")
  def remove_song(self, song):
    if song in self.songs:
      self.songs.remove(song)
      print(f"Removed: {song}")
  def show_songs(self):
    print(f"Playlist '{self.name}':")
    for song in self.songs:
      print(f"- {song}")
      my_playlist = Playlist("Favorites")
      my_playlist.add_song("Bohemian Rhapsody")
      my_playlist.add_song("Stairway to Heaven")
      my_playlist.show_songs()

Delete Methods

You can delete methods from a class using the del keyword:

Example

class Person:
  def __init__(self, name):
    self.name = name
  def greet(self):
    print("Hello!")
    p1 = Person("Emil")
    del Person.greet
    p1.greet()  # This will cause an error

Previous

Python Class Properties

Next

Python Inheritance