Nyckelord: Klasser, Objekt

Klasser i Python innehåller dels egenskaper (variabler och attribut) som ett objekt ska ha, dels metoder/funktioner som beskriver vad objektet ska kunna göra. En klass fungerar som en mall som kan användas för att bygga upp flera olika objekt av samma typ.
Vad är klasser i Python?
I Python är en klass en mall som definierar hur ett objekt ska se ut och bete sig. Den består av attribut (vilka är variabler som tillhör klassen) och metoder (som är funktioner inom klassen). Genom att använda klasser kan du skapa strukturerade och återanvändbara kodblock, vilket är en central aspekt av objektorienterad programmering.
Klasser i Python i korthet:
- Mall för objekt: En klass i Python fungerar som en mall för att skapa objekt.
- Innehåller attribut: Består av attribut, som är variabler tillhörande klassen.
- Innehåller metoder: Innehåller metoder, vilka är funktioner inom klassen.
- Grund för objektorienterad programmering: Central för att skapa strukturerad och återanvändbar kod.
Hur fungerar en klass i Python?
Tänk dig ett objekt av en viss sort, exempelvis en bil. Det finns ju ofantligt många olika typer av bilar i världen, men vi kan vara överens om att en bil har fyra hjul, en ratt och kan köra framåt. Det är det som definierar en bil. Bilen kan såklart se ut på massor av olika sätt och ha många olika funktioner, men ha hjul, ratt och kunna köra är det som definierar den. Man kan säga att det är en mall för hur bilar ser ut och fungerar. I programmering kallas en sådan mall för klass. Det är klassen som bestämmer vilka olika egenskaper och funktioner objektet vi vill programmera ska ha.
Syntax - Hur skapar man en klass i Python?
En klass i Python definieras med nyckelordet class, följt av klassens namn och en kolon. Inom klassen definieras sedan dess attribut och metoder.
Vi skapar en klass med föjande syntax:
class klassnamn:
def __init__(self, parameter1, parameter2, ... ):
operation/operationer
def funktion1(self, parameter1, parameter2, ... ):
operation/operationer
def funktion2(self, parameter1, parameter2, ... ):
operation/operationer
En klass definieras med nyckelordet class. Metoden __init__ är valfri och används för att initialisera instansens attribut. En klass kan också ärva en sådan metod från sin förälder. Sedan definierar du de metoder som objekten behöver.
Exempel: Hur skapar man en klass i Python?
Vi ska nu programmera en bil. Först vill vi bestämma vilka egenskaper som klassen "bil" ska ha. Vi bestämmer oss för att vår bil ska ha följande egenskaper:
- Bilmärke
- Årsmodell
- Färg
Vi bestämmer sedan vilka funktioner vår bil ska ha, det vill säga vad vår bil ska kunna göra.
- Köra
- Tuta
- Bromsa
Nedanför ser du hur egenskaperna och funktionena skapas i Python:
class Car:
def __init__(self, brand, year, color):
self.brand = brand
self.year = year
self.color = color
def drive(self):
print(self.brand + ": Kör framåt")
def honk(self):
print(self.brand + ": Tut tut!")
def brake(self):
print(self.brand + ": Bromsar...")
Vi har nu skapat en klass (en mall), på hur en bil är. Vi kan med denna klass skapa objekt, en så kallad instans av klassen. Kanske vill vi programmera ett program med 100-tals bilar (100 objekt av klassen bil)? Vi behöver fortfarande bara en klass, eftersom mallen kommer vara lika dan för alla bilar. Mer om hur du skapar ett objekt från klassen i nästa avsnitt!
Vanliga frågor och svar: Klasser i Python

En klass är en mall för att skapa objekt, som definierar specifika attribut och metoder för dessa objekt.
En klass skapar man med nyckelordet class, följt av klassens namn och en kolon. Inuti klassen definierar man attribut och metoder.
En klass är en mall för att skapa objekt, medan ett objekt är en instans av en klass.
Ett objekt skapas genom att anropa klassen som om den vore en funktion, t.ex. mitt_objekt = MinKlass().