bugl
bugl
HomeLearnPatternsSearch
HomeLearnPatternsSearch

Loading lesson path

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

Python Class Methods

Class Methods

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

Example

Create a method in a class: class Person:

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

Formula

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

Create a method with parameters:

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

A method that accesses object properties: 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"

Formula

p1 = Person("Tobias", 28)
print(p1.get_info())

Methods Modifying Properties

Methods can modify the properties of an object:

Example

A method that changes a property value: 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}")

Formula

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:

Example

Without the

str() method: class Person:

def __init__(self, name, age):

Formula

self.name = name self.age = age p1 = Person("Emil", 36)
print(p1)

Example

With the

str() method: class Person:

def __init__(self, name, age):
self.name = name self.age = age def __str__(self):
return f"{self.name} ({self.age})"

Formula

p1 = Person("Tobias", 36)
print(p1)

Multiple Methods

A class can have multiple methods that work together:

Example

Create multiple methods in a class: class Playlist:

def __init__(self, name):

Formula

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}")

Formula

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

Delete a method from a class: class Person:

def __init__(self, name):
self.name = name def greet(self):
print("Hello!")

Formula

p1 = Person("Emil")

del Person.greet p1.greet() # This will cause an error

Previous

Python Class Properties Code Challenge

Next

Python Class Methods Code Challenge