Categories: AnnatBloggPython-kurs

Python-klasser och objekt. Del 9 Python-kurs från nybörjare till avancerad på 11 blogginlägg

Denna artikel kommer att hjälpa läsaren att förstå de grundläggande Python-klasserna tillsammans med några grundläggande tillämpningar i verkliga livet. Vi kommer att använda Visual Studio Code som vår kodredigerare. Om du inte har installerat Visual Studio Code, finns instruktionerna i den första bloggen.

Python-klasser och objekt – innehållsförteckning:

  1. Python-klasser
  2. Python-klasser – definition
  3. Initiering av Python-klasser
  4. Låt oss skriva vår första Python-klass
  5. Attribut
  6. Klassens beteende
  7. Objekt i Python
  8. Arv

Python-klasser

Som vi har diskuterat i den första bloggen är Python ett objektorienterat programmeringsspråk. Det finns tre fraser som är mycket viktiga när man diskuterar objektorienterad programmering i Python. Den första är klass, den andra är ett objekt, den tredje är arv. Låt oss börja med vad en klass är.

Python-klasser – definition

En klass är en ritning eller ett utbyggbart program som hjälper till vid skapandet av objekt. En klass består av beteende och tillstånd. Beteendet hos en klass demonstreras genom funktioner inuti klassen som kallas metoder. Tillståndet för klassen demonstreras med hjälp av variabler inuti klassen som kallas attribut.

Initiering av Python-klasser

En klass kan initieras med följande syntax.

En klass i Python definieras med nyckelordet “class” följt av klassnamnet. Den grundläggande syntaxen för en Python-funktion illustreras nedan.

Till exempel:

<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" />
# Skapa en funktion
# klass Apa
class classname:

Obs: klassnamnet har också samma normer som variabeldeklarationen.

Låt oss skriva vår första Python-klass

# första klass

class Djur:
 pass

I den ovanstående kodblocket har vi skrivit en klass som vi kommer att utveckla vidare i bloggen. Som du kan se har vi använt nyckelordet “class”.

Låt oss nu se hur man lägger till komponenter till djurklassen. Men innan dess låt oss lära oss om “__init__()” konstruktorn. Konstruktörer används för objektinstansiering. Här används __init__() för objektinstansiering. Konstruktorn kan vara standard med endast self som argument eller parametriserad med nödvändiga argument.

Attribut

Det finns två olika typer av attribut, de första är klassvariabler och de andra är instansvariabler. Klassvariablerna är de variabler som ägs av klassen. Dessutom är dessa variabler tillgängliga för alla instanser av klassen. Därför kommer deras värde inte att ändras även om instansen ändras.

# klassvariabler

class Djur:
 type=”däggdjur”

Instansvariablerna är de variabler som tillhör instanserna själva. Därför kommer de att ändra sitt värde när instansen ändras.

# klassvariabler

class Djur:
 def __init__(self,ben):
  self.ben=ben
  

Obs: Instansvariabler är inte tillgängliga för åtkomst med klassnamnet, eftersom de ändras beroende på vilket objekt som får åtkomst till dem.

Låt oss göra ett program som har både klass- och instansvariabler deklarerade.

class Djur:
 type=”däggdjur”
 def __init__(self,namn,ben):
  self.namn=namn
  self.ben=ben
 

I det ovanstående programmet har vi använt både instans- och klassvariabler. Så dessa variabler utgör attributen för klassen.

Klassens beteende

Som diskuterats definieras klassens beteende av metoderna inuti klassen. Men innan vi går in på diskussionen om beteende måste vi börja diskutera “self”-parametern, som vi använde i __init__().

Self:

I mycket enkla termer, när vi fäster något till self säger det att variabeln eller funktionen tillhör den klassen. Dessutom kan attributen eller metoderna i klassen nås med “self”.

Metoder:

Klassmetoder är funktioner inuti klassen som har sitt första argument som “self”. En metod inuti klassen definieras med nyckelordet “def”.

class Djur:
 type=”däggdjur”
 def __init__(self,namn,ben):
  self.namn=namn
  self.ben=ben
 def skälla(self):
  if self.namn==”hund”:
   print(“voff voff!!!”)
  else:
   print(“inte en hund”)
 

I den ovanstående metoden “skälla”, eftersom vi använder variabeln namn, som är en instansvariabel, får vi åtkomst till den med “self” och denna funktion skulle skriva ut “voff voff!!!”, endast om namnet som ges till objektet är hund.

Vi har diskuterat de flesta komponenterna i en klass, men du kanske undrar hur man ser om klassen fungerar. Svaret på detta är att om vi inte skapar ett objekt av klassen, kommer vi inte att kunna se vad klassen gör. Nu, låt oss definiera och skapa ett objekt av klassen.

Objekt i Python

Ett objekt är en instans av klassen. En klass är bara en ritning, men objektet är en instans av klassen som har faktiska värden.

Koden för att definiera eller skapa ett objekt illustreras nedan.

class Djur:
 type=”däggdjur”
 def __init__(self,namn,ben):
  self.namn=namn
  self.ben=ben
 def skälla(self):
  if self.namn==”hund”:
   print(“voff voff!!!”)
  else:
   print(“inte en hund”)
 
hund=Djur(“hund”,4)
 

För att skapa ett objekt är syntaxen objektetsnamn=klassnamn(argument). Därför ger vi här namnet på djuret som hund och antalet ben som 4. Nu, objektet av klassen är skapat, nästa steg är att använda objektet för att få åtkomst till dess attribut. För att få åtkomst till attributen i en klass med hjälp av objektet, kom ihåg att endast instansvariabler kan nås med hjälp av objektet. Instansvariablerna i vår klass är namn och ben.

class Djur:
 type=”däggdjur”
 def __init__(self,namn,ben):
  self.namn=namn
  self.ben=ben
 def skälla(self):
  if self.namn==”hund”:
   print(“voff voff!!!”)
  else:
   print(“inte en hund”)
 
hund=Djur(“hund”,4)
print(hund.namn)
print(hund.ben)
 

Som vi kan se kan vi få åtkomst till instansvariabler med hjälp av punktnotation.

Låt oss utforska utdata.

#Utdata

hund
4

För att få åtkomst till funktionerna inuti klassen eller metoderna kommer vi att använda punktnotation. Exemplet illustreras nedan.

class Djur:
 type=”däggdjur”
 def __init__(self,namn,ben):
  self.namn=namn
  self.ben=ben
 def skälla(self):
  if self.namn==”hund”:
   print(“voff voff!!!”)
  else:
   print(“inte en hund”)
 
hund=Djur(“hund”,4)
print(hund.namn)
print(hund.ben)
print(hund.skälla())
#Utdata

hund
4
voff voff!!!

I det ovanstående exemplet kan vi se att vi får åtkomst till klassmetoden “skälla” med hjälp av hundobjektet vi skapade. Vi kan se att vi inte använder “self”-parametern i funktionsargumenten. Detta beror på att vi inte behöver använda “self” utanför klassen eftersom objektet självt fungerar som self.

Arv

Arv är en process genom vilken klassens attribut och metoder kan överföras till en underklass. Klassen från vilken underklassen ärver är föräldraklassen. Syntaxen för arv illustreras nedan.

#Arv

class förälder:

class barn(förälder):

Från den ovanstående illustrationen kan vi se att för arvsyntaxen placerar vi föräldraklassens namn som ett argument till underklassen. Låt oss använda Djur-klassen och göra en underklass som kallas hund. Detta illustreras nedan.

class Djur:
 type=”däggdjur”
 def __init__(self,namn,ben):
  self.namn=namn
  self.ben=ben
 def skälla(self):
  if self.namn==”hund”:
   print(“voff voff!!!”)
  else:
   print(“inte en hund”)

class Hund(Djur):
 def __init__(self,namn,ben,race):
  Djur.__init__(self,namn,ben)
  self.race=race

I den ovanstående exempel koden har vi skapat en hundklass som utökar djurklassen som vi skapade tidigare. Vi använder också parametrarna från Djur med hjälp av Djur.__init__(argument) som har namn och ben som kommer att ärvas till hundklassen. Sedan skapar vi en instansattribut för hundklassen som är race.

Nu låt oss skapa ett objekt för hundklassen och få åtkomst till attributen och metoderna i djurklassen.

class Djur:
 type=”däggdjur”
 def __init__(self,namn,ben):
  self.namn=namn
  self.ben=ben
 def skälla(self):
  if self.namn==”hund”:
   print(“voff voff!!!”)
  else:
   print(“inte en hund”)

class Hund(Djur):
 def __init__(self,namn,ben,race):
  Djur.__init__(self,namn,ben)
  self.race=race

pug=Hund("hund",4,"pug")
pug.race
pug.namn
pug.ben
pug.skälla()
#Utdata

pug
hund
4
voff voff!!!

Som vi kan se från utdata får underklassens objekt åtkomst till föräldraklassens attribut och metoder.

I den här bloggen har vi täckt några grunder i klasser i Python. I den nästa blogginlägget kommer vi att täcka ämnet filhantering.

Du kanske också gillar vår JavaScript-kurs från nybörjare till avancerad.

Robert Whitney

JavaScript-expert och instruktör som coachar IT-avdelningar. Hans huvudmål är att höja teamets produktivitet genom att lära andra hur man effektivt samarbetar medan man kodar.

View all posts →

Robert Whitney

JavaScript-expert och instruktör som coachar IT-avdelningar. Hans huvudmål är att höja teamets produktivitet genom att lära andra hur man effektivt samarbetar medan man kodar.

Share
Published by
Robert Whitney

Recent Posts

Vad är arbetsanalys? 7 bästa tekniker för att genomföra en arbetsanalys inom HRM

Vad är arbetsanalys? Har du någonsin hört termen, vet du vad du måste göra för…

50 minutes ago

Topp 10 PDF-redigerare 2023

Filer i PDF-format följer med oss varje dag. Detta universella sätt att spara innehåll garanterar…

3 hours ago

Topp 10 onlineöversättare 2023

Utvecklingen av Internet och maskininlärning har äntligen satt åt sidan traditionella skrymmande pappersordböcker. Oavsett om…

5 hours ago

Röntgensökning i rekrytering. 4 viktiga röntgensökningsoperatorer

Röntgensökning är en av många datorsökningstekniker som används för att rekrytera anställda av HR-avdelningar. Den…

7 hours ago

5 Beprövade Affärsmodeller för Startups

Idag kommer vi att fokusera på den inledande fasen av företagsutveckling – nystartade företag. Vi…

9 hours ago

5 program för att bygga appar utan kodning – Skapa och sälj digitala produkter #37

Program för att bygga appar utan kodning – känner du till några av dem? Som…

11 hours ago