Most létrehozzuk a saját Dynamic Array osztályunkat! A Ctypes nevű beépített könyvtárat fogjuk használni. Nézd meg a dokumentációt további információkért, de alapvetően itt a Ctypes modul nyers tömbjeként fogjuk használni. Ha nagyon érdekel, nézd meg: Ctypes Tutorial.
Lépésről lépésre fogjuk végigjárni a kódot
# ctypes
egy idegen függvénykönyvtár Python számára. C-kompatibilis adattípusokat biztosít, és lehetővé teszi DLL-ekben vagy megosztott könyvtárakban lévő függvények hívását. Használható arra, hogy ezeket a könyvtárakat tiszta Pythonba csomagoljuk.
import ctypes
létrehozzuk a saját osztályunkat egy új osztály létrehozása új típusú objektumot hoz létre, amely lehetővé teszi az adott típus új példányainak létrehozását. Minden osztálypéldányhoz csatolhatunk attribútumokat az állapotának fenntartásához. További információ az osztályról ide kattintva érhető el.
class DynamicArray( ):
Az osztály metódusainak létrehozása :
def __init__(self):
__init__() egy fenntartott metódus, amelyet osztálykonstruktorként is ismerünk. akkor hajtódik végre, amikor egy példányt létrehozunk.
self ehhez a kulcsszóhoz hasonló a java-ban, a létrehozandó példányra utal.
def __len__(self):
def __getitem__(self, k):
__getitem__
az olyan hívások végrehajtására szolgál, mint a self
.
def _resize():
Az aláhúzás előtag arra utal, hogy az egyetlen aláhúzással kezdődő metódus belső használatra szolgál. Ezt a konvenciót a PEP 8 határozza meg.
def make_array(self, new_cap):
Ez a metódus új tömb létrehozására szolgál.
Most hozzunk létre egy példányt az osztályunkból és játsszunk vele az alábbi kódrészletben láthatjuk a lista által végzett néhány műveletet.