Acum vom crea propria noastră clasă Dynamic Array! Vom folosi o bibliotecă încorporată numită Ctypes. Consultați documentația pentru mai multe informații, dar practic va fi folosită aici ca o matrice brută din modulul Ctypes. Dacă vă simțiți foarte interesați de ea, consultați: Ctypes Tutorial.
Vom parcurge pas cu pas codul
# ctypes
este o bibliotecă de funcții străine pentru Python. Aceasta oferă tipuri de date compatibile cu C și permite apelarea funcțiilor din DLL-uri sau biblioteci partajate. Poate fi folosită pentru a înfășura aceste biblioteci în Python pur.
import ctypes
va crea propria noastră clasă crearea unei noi clase creează un nou tip de obiect, permițând crearea de noi instanțe ale acelui tip. Fiecare instanță de clasă poate avea atribute atașate pentru menținerea stării sale. Pentru mai multe informații despre clase accesați click aici.
clasa DynamicArray( ):
Crearea metodelor clasei :
def __init__(self):
__init__() este o metodă rezervată, cunoscută și sub numele de constructorul clasei. se execută atunci când este creată o instanță.
self este similar cu acest cuvânt cheie în java, se referă la instanța care este creată.
def __len__(self):
def __getitem__(self, k):
__getitem__
se utilizează pentru a implementa apeluri precum self
.
def __resize(): Prefixul de subliniere este menit să indice faptul că o metodă care începe cu o singură subliniere este destinată utilizării interne. Această convenție este definită în PEP 8.
def make_array(self, new_cap):
Această metodă este utilizată pentru a crea o nouă matrice.
Acum haideți să creăm o instanță a clasei noastre și să ne jucăm cu ea în fragmentul de cod de mai jos puteți vedea unele dintre operațiunile efectuate de listă.
.