Nu skal vi skabe vores egen Dynamic Array-klasse! Vi vil bruge et indbygget bibliotek kaldet Ctypes. Tjek dokumentationen for mere info, men det vil grundlæggende blive brugt her som et rå array fra Ctypes-modulet. Hvis du finder dig selv meget interesseret i det, kan du tjekke ud: Ctypes Tutorial.
Vi vil gå trin for trin walk through af koden
# ctypes
er et fremmedfunktionsbibliotek til Python. Det giver C-kompatible datatyper og gør det muligt at kalde funktioner i DLL’er eller delte biblioteker. Det kan bruges til at indpakke disse biblioteker i ren Python.
import ctypes
Vi vil oprette vores egen klasse Ved at oprette en ny klasse oprettes en ny type objekt, så der kan oprettes nye instanser af denne type. Hver klasseinstans kan have attributter knyttet til den for at opretholde dens tilstand. For mere info om klasse gå til klik her.
class DynamicArray( ):
Skabelse af metoder i klassen :
def __init__(self):
__init__() er en reserveret metode også kendt som klassekonstruktør. den udføres, når en instans oprettes.
self svarer til dette nøgleord i java det henviser til den instans, der bliver oprettet.
def __len__(self):
def __getitem__(self, k):
__getitem__
bruges til at implementere kald som self
.
def _resize():
Understregningspræfikset er ment som et hint om, at en metode, der starter med en enkelt understregning, er beregnet til intern brug. Denne konvention er defineret i PEP 8.
def make_array(self, new_cap):
Denne metode bruges til at oprette et nyt array.
Nu kan vi oprette en instans af vores klasse og lege med den i nedenstående kodestykke kan du se nogle af de operationer, der udføres af list.