Jak listy są zaimplementowane w Pythonie

Teraz stworzymy naszą własną klasę Dynamic Array! Będziemy używać wbudowanej biblioteki o nazwie Ctypes. Sprawdź dokumentację po więcej informacji, ale w zasadzie będzie ona używana tutaj jako surowa tablica z modułu Ctypes. Jeśli jesteś tym bardzo zainteresowany, sprawdź: Ctypes Tutorial.

Przejdziemy krok po kroku przez kod

# ctypesjest biblioteką funkcji obcych dla Pythona. Zapewnia typy danych zgodne z C i umożliwia wywoływanie funkcji w bibliotekach DLL lub bibliotekach współdzielonych. Może być użyta do zawijania tych bibliotek w czystego Pythona.

import ctypes

stworzymy własną klasę Tworzenie nowej klasy tworzy nowy typ obiektu, pozwalając na tworzenie nowych instancji tego typu. Każda instancja klasy może mieć przypisane atrybuty do utrzymywania jej stanu. Aby uzyskać więcej informacji o klasach kliknij tutaj.

class DynamicArray( ):

Tworzenie metod klasy :

def __init__(self):

__init__() jest zarezerwowaną metodą znaną również jako konstruktor klasy. jest ona wykonywana kiedy instancja jest tworzona.

self jest podobny do tego słowa kluczowego w java odnosi się do instancji, która jest tworzona.

def __len__(self):

def __getitem__(self, k):

__getitem__jest używany do implementacji wywołań takich jak self.

def _resize():

Przedrostek podkreślenia jest przeznaczony jako wskazówka, że metoda zaczynająca się od pojedynczego podkreślenia jest przeznaczona do użytku wewnętrznego. Ta konwencja jest zdefiniowana w PEP 8.

def make_array(self, new_cap):

Ta metoda jest używana do tworzenia nowej tablicy.

Teraz stwórzmy instancję naszej klasy i pobawmy się nią w poniższym wycinku kodu możesz zobaczyć niektóre z operacji wykonywanych przez listę.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.