En metod är en funktion inuti en klass som hör till ett objekt. Den används för att utföra en handling med (eller på) objektet.

En metod skapas på samma sätt som en vanlig funktion – men med ett viktigt tillägg: den har alltid self som första parameter.


Exempel: En metod som skriver ut info

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def speak(self):
        print(f"{self.name} säger voff!")
  • speak() är en metod som hör till klassen Dog.
  • Den använder self.name för att komma åt objektets namn.

Använda metoden

my_dog = Dog("Buddy", 3)
my_dog.speak()  # Skriver ut: Buddy säger voff!

Vi anropar metoden via objektetmy_dog.speak().

Metoder med argument

Metoder kan också ta egna argument, precis som vanliga funktioner.

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self, owner_name):
        print(f"Hej {owner_name}, jag heter {self.name}.")

dog1 = Dog("Bella", 4)
dog1.greet("Oskar")  # Skriver ut: Hej Oskar, jag heter Bella.

Metoder som returnerar värden

Du kan också skapa metoder som returnerar något istället för att skriva ut direkt.

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def get_age_in_dog_years(self):
        return self.age * 7

dog1 = Dog("Rex", 5)
dog_years = dog1.get_age_in_dog_years()
print(f"{dog1.name} är {dog_years} hundår gammal.")

Sammanfattning

TermFörklaring
MetodEn funktion som tillhör ett objekt.
selfReferens till det aktuella objektet. Behövs alltid som första parameter.
AnropSkriv objekt.metod() för att använda metoden.
ReturvärdeMetoder kan returnera värden med return.