Hoe lijsten zijn geïmplementeerd in Python

Nu gaan we onze eigen Dynamic Array klasse maken! We zullen gebruik maken van een ingebouwde bibliotheek genaamd Ctypes. Bekijk de documentatie voor meer info, maar in principe zal het hier gebruikt worden als een ruwe array uit de Ctypes module. Als je er erg in geïnteresseerd bent, kijk dan eens naar: Ctypes Tutorial.

We zullen stap voor stap door de code lopen

# ctypes is een buitenlandse functiebibliotheek voor Python. Het biedt C-compatibele datatypes, en maakt het aanroepen van functies in DLL’s of gedeelde bibliotheken mogelijk. Het kan gebruikt worden om deze bibliotheken in te pakken in pure Python.

import ctypes

we zullen onze eigen klasse maken het creëren van een nieuwe klasse creëert een nieuw type object, waardoor nieuwe instanties van dat type kunnen worden gemaakt. Aan elke instantie van een klasse kunnen attributen worden gekoppeld om de toestand ervan te behouden. Voor meer informatie over de klasse klik hier.

class DynamicArray( ):

Methoden van de klasse maken :

def __init__(self):

__init__() is een gereserveerde methode ook bekend als de klasse constructor. het wordt uitgevoerd wanneer een instantie wordt gemaakt.

self is vergelijkbaar met dit sleutelwoord in java het verwijst naar de instantie die wordt gemaakt.

def __len__(self):

def __getitem__(self, k):

__getitem__ wordt gebruikt om aanroepen als self te implementeren.

def _resize():

De underscore prefix is bedoeld als een hint dat een methode die begint met een enkele underscore, bedoeld is voor intern gebruik. Deze conventie is gedefinieerd in PEP 8.

def make_array(self, new_cap):

Deze methode wordt gebruikt om een nieuwe array te maken.

Laten we nu een instantie van onze klasse maken en ermee spelen in het onderstaande codefragment kunt u enkele bewerkingen zien die door list worden uitgevoerd.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.