Python-klasse

  1. Introductie tot OOP
  2. Python Classes en objecten
  3. Python Class Constructors
  4. Verwijder attributen van de klasse

We zullen in deze sectie de basisprincipes van Python object-georiënteerd programmeren (OOP) zoals klasse, object bespreken.

Python is een objectgeoriënteerde programmeertaal, met andere woorden, alles in Python is een object.

Introductie tot OOP

De basis van Object Oriented Programming (OOP) bestaat uit de volgende terminologieën:

  1. Klassen
  2. Gegevens leden
  3. methoden
  4. Voorwerpen
  5. constructors
  6. Methode Overbelasting
  7. Overbelasting operator
  8. Erfenis
  9. Klasse-instanties en instantiatie

Python Classes en objecten

Een klasse kan worden gezien als een schets voor een object, terwijl een object een verzameling gegevensleden en de lidfunctie is.

Een klasse bevat gegevensleden (variabelen) en lidfuncties (methoden) die toegankelijk zijn met behulp van de objecten van die klasse.

Creëer een klas

Een klasse wordt gemaakt met behulp van het class trefwoord en vervolgens de naam van de klasse:

De syntaxis is als volgt:

class NameofClass:
    #data members of the class
    #member functions of the class

Voorbeeld:

>>> class Waiter:
    name = "Andrew"
    def display():
        print('Waiter Class')   
>>> print(Waiter.display)
<function Waiter.display at 0x0359E270>
>>> print(Waiter.name)
Andrew

In dit voorbeeld wordt een klasse gemaakt Waiter met een gegevenslid name en een lidmethode display().

Maak een objectinstantie van een klasse

Een objectinstantie kan worden gemaakt met behulp van de volgende syntaxis:

obj = className()

Voorbeeld:

>>> w = Waiter()
>>> print(w.name)
Andrew
>>> w.display()
Waiter Class

Je zou hier kunnen zien dat het object van de Waiter klasse wordt gebruikt om toegang te krijgen tot de leden (attributen) van de klasse met behulp van de puntoperator.

Klasse attributen

Naast gegevensleden en lidfuncties zijn er enkele ingebouwde kenmerken van een Python-klasse.

  1. __dict__ : is een woordenboek dat de naamruimte van de klasse bevat.
  2. __doc__ : is de documentatiereeks van de klasse
  3. __name__ : is de naam van de klas
  4. __module__ : is de module waarin de klasse is gedefinieerd.
  5. __bases__ : is een tuple die base class bevat.

Deze attributen zijn toegankelijk via de puntoperator.

Voorbeeld:

>>> class Waiter:
    "This is a waiter class"
    name="Andrew"
    def display():
        print("You are in waiter class")
>>> w = Waiter()

>>> print(w.__doc__)
This is a waiter class

>>> print(w.__dict__)
{}

>>> print(w.__module__)
__main__

Python Class Constructors

Een constructor in Python OOP is gemaakt met behulp van __init__() . Deze ingebouwde methode is een speciale methode die wordt genoemd wanneer een object van de overeenkomstige klasse wordt gemaakt.

Constructors worden gebruikt om de gegevensleden van de klasse te initialiseren.

>>> class Waiter:
        def __init__(self, n):
            self.name=n
            self.age=20
        def display(self):
            print(self.name)

>>> w=Waiter('Rob')
>>> w.display()
Rob

Hier wordt self argument gebruikt in de definitie van de constructeur en ook in alle klassenmethoden. Daarom wordt een functie als w.display() geïnterpreteerd als Waiter.display(w).

Verwijder attributen van de klasse

Je kan de del instructie gebruiken om de kenmerken en objecten van een klasse te verwijderen.

>>> w=Waiter('Rob')
>>> w.__dict__
{'name': 'Rob', 'age': 20}
>>> del w.age
>>> w.__dict__
{'name': 'Rob'}