Luo nyt oma Dynamic Array -luokka! Käytämme sisäänrakennettua kirjastoa nimeltä Ctypes. Tutustu dokumentaatioon saadaksesi lisätietoja, mutta periaatteessa sitä tullaan käyttämään tässä Ctypes-moduulin raakamääränä. Jos olet hyvin kiinnostunut siitä, tutustu: Ctypes Tutorial.
Me käymme askel askeleelta läpi koodin
#
# ctypes
on vieras funktiokirjasto Pythonille. Se tarjoaa C-yhteensopivia tietotyyppejä ja mahdollistaa DLL- tai jaettujen kirjastojen funktioiden kutsumisen. Sitä voidaan käyttää näiden kirjastojen käärimiseen puhtaaseen Pythoniin.
import ctypes
luomme oman luokkamme Uuden luokan luominen luo uuden objektityypin, jolloin voidaan tehdä uusia kyseisen tyypin instansseja. Jokaiseen luokan instanssiin voidaan liittää attribuutteja sen tilan ylläpitämiseksi. Lisätietoja luokasta saat klikkaamalla tästä.
class DynamicArray( ):
Luokan metodien luominen :
def __init__(self):
__init__() on varattu metodi, joka tunnetaan myös nimellä luokan konstruktori. se suoritetaan, kun instanssi luodaan.
self on samankaltainen kuin tämä avainsana java:ssa sillä viitataan instanssiin, joka ollaan luomassa.
def __len__(self):
def __getitem__(self, k):
__getitem__
käytetään toteuttamaan kutsuja kuten self
.
def _resize():
Alleviivaus-etuliite on tarkoitettu vihjeeksi siitä, että metodit, jotka alkavat yhdellä alleviivauksella, on tarkoitettu sisäiseen käyttöön. Tämä konventio on määritelty PEP 8:ssa.
def make_array(self, new_cap):
Tällä metodilla luodaan uusi array.
Luotaan nyt luokkamme instanssi ja leikitään sillä Alla olevassa koodinpätkässä näet joitakin listan tekemiä operaatioita.