programowanie2

 0    20 fiszek    kacperkamin
ściągnij mp3 drukuj graj sprawdź się
 
Pytanie język polski Odpowiedź język polski
Python proces wykonywania
rozpocznij naukę
1) Analiza pod względem błędów, tłumaczenie na bajtkod 2) Maszyna wirtualna Python, pętla prog: 1) wczyt instr bajtkod, wykonuje instr w C, zarzadza stosem
Bajtkod
rozpocznij naukę
Jest to zestaw instrukcji dla Maszyny Wirtualnej, a nie dla fizycznego procesora (CPU). Nazwa pochodzi stąd, że każda instrukcja (opcode) zajmowała tradycyjnie jeden bajt (choć w nowszych wersjach Pythona się to zmienia)
Interpreter W kontekście Pythona,
rozpocznij naukę
zawiera w sobie zarówno kompilator do bajtkodu, jak i Maszynę Wirtualną (PVM). Jego zadaniem jest emulacja komputera – udaje procesor, który rozumie język bajtkodu Pythona.
threading
rozpocznij naukę
udostępnia interfejs wysokopoziomowy do pracy z wątkami. Kluczowa cecha implementacyjna: Wątki w Pythonie są natywnymi wątkami systemu operacyjnego
GIL (Global Interpreter Lock)
rozpocznij naukę
mutex (blokada wzajemnego wykluczania), wbudowany w rdzeń interpretera CPython, Aby jakikolwiek wątek mógł wykonać instrukcję bajtkodu Pythona lub operować na obiektach Pythona, musi najpierw uzyskać (zablokować) GIL
Lock (Blokada Wzajemnego Wykluczania)
rozpocznij naukę
Ochrona Sekcji Krytycznej (zapobieganie Race Conditions).
Semaphore
rozpocznij naukę
Ograniczanie współbieżności (np. max 5 połączeń do bazy danych).
Queue
rozpocznij naukę
Wymiana danych między wątkami/procesami (Producer-Consumer). FIFO
Generics
rozpocznij naukę
Mechanizm polimorfizmu parametrycznego umożliwiający tworzenie kodu (klas/funkcji) działającego na różnych typach danych, z zachowaniem bezpieczeństwa typów podczas analizy statycznej.
TypeVar
rozpocznij naukę
Obiekt (T = TypeVar('T')) pełniący rolę "zmiennej" dla typu. Służy do wiązania typów wejściowych i wyjściowych
List[T]
rozpocznij naukę
Adnotacja oznaczająca homogeniczną listę elementów typu T. W Pythonie 3.9+ zastępowana przez list[T]
Dict[K, V]
rozpocznij naukę
Adnotacja słownika mapującego klucze typu K na wartości typu V. W Pythonie 3.9+ zastępowana przez dict[K, V]
id() - is
rozpocznij naukę
id(<zmienna>) zwraca identyfikator obiektu, na który wskazuje <zmienna>. Pozwala to na sprawdzenie czy 2 różne zmienne wskazują na ten sam obiekt.
Płytka Kopia
rozpocznij naukę
Tworzy nowy kontener, ale wypełnia go starami referencjami do dzieci
Głęboka Kopia
rozpocznij naukę
Tworzy nowy kontener i rekurencyjnie nowe kopie wszystkich dzieci.
semantyka kopiowania
rozpocznij naukę
Przypisanie (=), Płytka Kopia (copy. copy(), [:]), Głęboka Kopia (copy. deepcopy())
Hermetyzacja w Pythonie (Encapsulation)
rozpocznij naukę
Brak słów kluczowych private/protected. Ochrona opiera się wyłącznie na konwencji (_name) oraz mechanizmie Name Mangling (__name), a nie na blokadzie dostępu
_zmienna
rozpocznij naukę
Oznacza atrybut chroniony (umownie). Technicznie jest publiczny, ale sygnalizuje programiście: "nie dotykaj spoza klasy"
__zmienna
rozpocznij naukę
Uruchamia mechanizm Name Mangling. Interpreter zmienia nazwę na _Klasa__zmienna w czasie kompilacji. Służy do unikania kolizji nazw przy dziedziczeniu, a nie do bezpieczeństwa danych
@property
rozpocznij naukę
mplementacja Protokołu Deskryptora. Pozwala zamienić metody (getter/setter) na atrybuty dostępne przez kropkę (obj.x), zachowując kompatybilność API bez zmiany kodu klienta

Musisz się zalogować, by móc napisać komentarz.