Ora creeremo la nostra classe Dynamic Array! Useremo una libreria integrata chiamata Ctypes. Controllate la documentazione per maggiori informazioni, ma fondamentalmente sarà usata qui come un array grezzo dal modulo Ctypes. Se vi interessa molto, date un’occhiata a: Ctypes Tutorial.
Andremo passo dopo passo attraverso il codice
# ctypes
è una libreria di funzioni straniere per Python. Fornisce tipi di dati compatibili con il C e permette di chiamare funzioni in DLL o librerie condivise. Può essere usata per avvolgere queste librerie in puro Python.
import ctypes
creeremo la nostra classe creando una nuova classe si crea un nuovo tipo di oggetto, permettendo di creare nuove istanze di quel tipo. Ogni istanza di classe può avere attributi collegati ad essa per mantenere il suo stato. Per maggiori informazioni sulla classe clicca qui.
class DynamicArray( ):
Creazione di metodi di classe :
def __init__(self):
__init__() è un metodo riservato noto anche come costruttore di classe. viene eseguito quando viene creata un’istanza.
self è simile a questa parola chiave in java e si riferisce all’istanza che viene creata.
def __len__(self):
def __getitem__(self, k):
__getitem__
è usato per implementare chiamate come self
.
def _resize():
Il prefisso underscore è inteso come un suggerimento che un metodo che inizia con un singolo underscore è destinato ad uso interno. Questa convenzione è definita in PEP 8.
def make_array(self, new_cap):
Questo metodo è usato per creare un nuovo array.
Ora creiamo un’istanza della nostra classe e giochiamo con essa nel seguente frammento di codice potete vedere alcune delle operazioni fatte da list.