Python Flashcards
Czy Python jest kompilowany czy interpretowany?
Interpretowany
Kto stworzył Pythona?
Guido van Rossum
Co zawiera w swojej składni generator Pythonowy
Keyword “yield”
Keyword zwracający wszystkie metody dostępne dla danego obiektu
dir()
Keyword zwracający pomoc dla danego obiektu lub metody lub funkcji
help()
Czym jest klasa abstrakcyjna?
Klasa abstrakcyjna w Pythonie to klasa, która nie może być bezpośrednio instancjonowana, a jej głównym celem jest dostarczanie wspólnych cech i zachowań dla innych klas. Klasa abstrakcyjna może zawierać metody abstrakcyjne, które nie posiadają implementacji w samej klasie abstrakcyjnej, ale muszą zostać zaimplementowane przez jej pochodne klasy. Klasy te służą jako rodzaj szablonu dla innych klas, które dziedziczą ich cechy i metody.
Jakie są struktury danych w Pythonie?
Lists, Tuple, Dictionaries, Sets
Czym jest *args i **kwargs
*args i **kwargs to konwencje w Pythonie, które pozwalają na przekazywanie zmiennej liczby argumentów do funkcji. *args pozwala na przekazywanie pozycyjnych argumentów w formie krotki, a **kwargs na przekazywanie nazwanych argumentów w formie słownika. Dzięki nim funkcje mogą być bardziej elastyczne i obsługiwać różne ilości i rodzaje argumentów.
Czym jest klasa, a czym obiekt?
Klasa to szablon lub definicja, która opisuje, jakie cechy i zachowania będą miały obiekty stworzone na jej podstawie. Klasa to rodzaj planu lub wzorca, który określa atrybuty (zmienne) oraz metody (funkcje) dostępne dla obiektów stworzonych z tej klasy.
Obiekt natomiast to konkretna instancja klasy. Innymi słowy, obiekt to egzemplarz klasy, który zawiera wartości przypisane do atrybutów klasy i może wykonywać operacje zdefiniowane w metodach klasy.
Co jest najszybsze do zmiany obiektów w liscie? forloop, map(), list comprehension?
list comprehension
Czy używanie “except KeyError” jest szybsze do sprawdzania obecności klucza w słowniku niż sprawdzanie przez if’a?
Tak
Kiedy użyjesz staticmethod, a kiedy classmethod
Użyj staticmethod, gdy potrzebujesz zdefiniować metodę w klasie, która nie ma związku z instancją ani atrybutami klasy, ale ma istotną związek z logiką klasy.
Użyj classmethod, gdy chcesz zdefiniować metodę, która ma dostęp do atrybutów klasy i może manipulować nimi, a także może być używana do operacji związanych z tworzeniem, inicjalizacją lub modyfikacją instancji klasy.