Hvordan instantisere en klasse i Python

Hvordan instantisere en klasse i Python

Institering av en klasse er et veldig grunnleggende prinsipp for å bruke den objektorienterte programmering (OOP) -tilnærmingen, og folk forvirrer ofte dette begrepet med noe komplisert. I Python gjør det å opprette en klasse eller lage sin forekomst ved å lage en variabel og sette den lik klassenavnet med parentes, akkurat som du vil kalle en funksjon.

Dette innlegget vil fungere som en guide og forklare hva som menes med å instantisere og prosessen med å instantisere en klasse i detalj.

Hva som fremstiller en klasse i Python?

Institering av en klasse betyr ganske enkelt å lage en duplikat/kopi av en Python -klasse, som vil inneholde alle den opprinnelige klassens variabler, funksjoner og attributter. Når du refererer til å instruentere fra OOP -punktet, er det prosessen med å lage objektvariabler i klassen.

Merk: Å lage objekter/kopier av en klasse kalles også å lage forekomster av en klasse, og dermed "oppstart" en klasse

Hvordan instantisere en klasse i Python?

Som nevnt ovenfor, for å instantisere en klasse, må du kalle navnet på klassen som om du vil kalle en normal funksjon og lagre resultatet i en variabel. Igjen, i OOP -termer, kalles det å ringe konstruktøren. Imidlertid forårsaker det forvirring blant mennesker, da du ikke spesifiserer konstruktørmetoden med samme navn i Python.

Uansett er syntaksen for å gi en klasse som følger:

Objvar = ClassName (InitializeVariableArguments)

I denne syntaksen:

  • Objvar er variabelen som kopien av klassen er lagret i, eller det er et objekt for klassen
  • Klassenavn() er navnet på klassen for å bli instantiert til en variabel
  • InitializeVariableArguments er argumentene som vil bli brukt til å initialisere verdiene til variablene i klassen (valgfritt)

Eksempel 1: Instantiat en grunnleggende klasse i Python

For å demonstrere metoden for å instantisere en klasse, må du først ha en klasse. Ta derfor følgende kodebit som vil lage en klasse for personer med navnene på to personer som er lagret i variabler og en funksjon for å skrive ut navnet på person1:

Klasseperson:
P1Name = "John Doe"
P2Name = "Rudy Taylor"
def getNamep1 (selv):
Returnerer selv.P1Name;

Etter det, oppretter en variabel som heter “POBJ1” og sett den lik "Person" -klassenavnet med runde parenteser for å lage en kopi av klassen inne i POBJ1:

Pobj1 = person ()

Etter det kan du bruke POBJ1-variabelen med Dot-Operator for å få tilgang til variablene og funksjonen til personklassen:

trykk ("Direkte tilgang til variabelen:", Pobj1.P2Name)
trykk ("Kaller funksjonen til klassen:", Pobj1.getNamep1 ())

Kodebiten for dette eksemplet er som følger:

Klasseperson:
P1Name = "John Doe"
P2Name = "Rudy Taylor"
def getNamep1 (selv):
Returnerer selv.P1Name;
Pobj1 = person ()
trykk ("Direkte tilgang til variabelen:", Pobj1.P2Name)
trykk ("Kaller funksjonen til klassen:", Pobj1.getNamep1 ())

Når du utfører denne koden, vil den gi følgende resultat på terminalen:

Fra denne utgangen kan du tydelig konkludere med at du har instantiert personklassen med hell.

Eksempel 2: Instantiering av en klasse i Python ved å passere verdier

Hvis en klasse har ikke-initialiserte variabler, må du gi dem verdier når du oppretter forekomster av den klassen. For å demonstrere dette, ta følgende klassekode:

Klasseperson:
def __init __ (self, p1name, p2name):
selv-.P1Name = P1Name
selv-.P2Name = P2Name
def getNamep1 (selv):
Returnerer selv.P1Name;

I denne klassen er variablene P1Name og P2Name ikke-initialiserte, og du må passere verdien mens du oppretter forekomsten som følger:

Pobj1 = person ("Alex", "Monroe")

Etter at det er gjort, kan du bruke POBJ1 for å få tilgang til variablene og funksjonen akkurat som i det første eksemplet:

trykk ("Direkte tilgang til variabelen:", Pobj1.P2Name)
trykk ("Kaller funksjonen til klassen:", Pobj1.getNamep1 ())

Det komplette kodebiten for dette eksemplet er som:

Klasseperson:
def __init __ (self, p1name, p2name):
selv-.P1Name = P1Name
selv-.P2Name = P2Name
def getNamep1 (selv):
Returnerer selv.P1Name;
Pobj1 = person ("Alex", "Monroe")
trykk ("Direkte tilgang til variabelen:", Pobj1.P2Name)
trykk ("Kaller funksjonen til klassen:", Pobj1.getNamep1 ())

Når du utfører dette programmet, vil det opprette følgende utdata på terminalen:

Du har med hell instantiert en klasse med ikke-initialiserte variabler.

Konklusjon

Institering av en klasse er prosessen med å lage forekomster av den klassen som inneholder alle variabler, funksjoner og andre attributter, som kan kalles en kopi av den klassen. For å instantisere en klasse, må du kalle konstruktørmetoden, og i Python er konstruktørmetoden navnet på klassen etterfulgt av runde parenteser, akkurat som å kalle en funksjon. Når en klasse er instantiert, kan du få tilgang til attributtene til den kopierte klassen ved å bruke en prikkoperatør.