Python Flashcards

1
Q

Czym jest shallow copy w pythonie ? Ilu poziomowy jest ten proces ? Czy jest rekursywny ?

A

Shallow copy jest to metoda kopiowania obiektów Pythonowych polegająca na stworzeniu nowej kolekcji oraz wypełnieniem jej referencjami do oryginalnych elementow

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Czym jest deep copy w Pythonie ? Czy jest rekursywny ?

A

Deep copy jest to metoda kopiowania obiektów Pythonowych polegająca na stworzeniu kolekcji i wypelnienie jej rekursywnie kopiami elementów z kolekcji którą kopiujemy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Czym jest PEP8 ?

A

PEP 8 jest to konwencja Pythonowa, zawierająca zbiór dobrych praktyk rpzy pisaniu kodu by uczynić go bardziej czytelnym

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Czym w pythonie jest iterator ? Jakie metody musi implementować iterator ?

A

Iterator w Pythonie jest to po prostu obiekt który może być używany w pętli for.

Iterator musi implementować metody __iter__() oraz __next__() (python3)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Czemu służy metoda __iter__() w iteratorze Pythonowym ? Co powinna zwracać ?

A

Metoda __iter__() służy do inicjalizacji iteratora. Powinna zwracać obiekt który ma zaimplementowaną metodę __next__() (Python 3)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Czemu służy metoda __next__() w iteratorze Pythonowym ? Co powinna zwracać ?

A

Metoda __next__() służy do zwracania następnej wartości iteratora, jest używana w pętli for do zwracabua kolejnej wartości w pętli

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Skąd pętla for wie kiedy zatrzymać iterację?

A

Iterator powinien zaimplementować w metodzie __next__() podniesienie wyjątku StopIteration, wtedy pętla for zatrzyma się

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Jakie metody powinien implementować context manager w pythonie?

A

__enter__() i __exit__()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Czym w Pythonie jest wyrażenie lambda? Dlaczego są użyteczne ? Gdzie mogą być używane ? Podaj 2 uzycia

A

Lambda w pythonie służy do tworzenia anonimowych funkcji. Ze względu na fakt że python wspiera programowanie funkcyjne, funkcja lambda może byc przekazywana do innej funkcji by pełnić określoną rolę, co zajmuje znacznie mniej kodu niż uzywanie standardowej funkcji.

  1. Przypisanie lambda do zmiennej (antipattern!)
  2. Przekazywanie lambda do funkcji wbudowanych (map(), filter(), reduce())
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Czym jest mocking ?

A

Mocking jest to technika używana przy pisaniu testów jednostkowych polegająca na symulowaniu zachowania obiektów które mogą być nieosiągalne z poziomu testów.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Jaki jest tine complexity funkcji sort() w pythonie? Jakiego algorytmu sort() uzywa ?

A

O(n log n). sort() używa algorytmu timsort

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Czemu słužy funkcja map() w pythonie ?

A

Funkcja map służy do wywołania funkcji dla każdego elementu z podanej kolekcji elementow (iterable)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Czym w pythonie są funkcje wbudowane ? (Built in)

A

Fukkcje wbudowane (builtins) sa to funkcje które ładowane są automatycznie przy starcie interpretera oraz są dostępne wszędzie i zawsze

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Czym jest funkcja filter() w Pythonie ?

A

Funkcja filter() wywołuje podaną funkcję na podanej kolekcji elementów i zostawia tylko te dla których dana funkcja zwrocila wartosc True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Czym w pythonie jest dekorator ?

A

Dekorator w pythonie jest to mechanizm pozwalający na dodanie funkcjonalnosci do obiektu bez wpływania na jego strukturę.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Za pomocą jakiej struktury danych zaimplentowany jest dictionary ?

A

Hash map

17
Q

Za pomocą jakiej struktury danych zaimplementowane są listy w CPythonie ?

A

Za pomocą dynamicznych tablic (dynamic arrays)

18
Q

Wymień obiekty w pythonie które są mutowalne (7)

A

String, tuple, boolean, int, float, frozen set

19
Q

Wymień obiekty w pythonie które są niemutowalne (3)

A

Dict, list, set

20
Q

Jaka jest różnica pomiędzy == a is ?

A

Operator == sprawdza równość wartości obu zmiennych, a operator is sprawdza czy obie zmienne wskazują na ten sam obiekt

21
Q

Kiedy nie należy używać list składanych ? (List comprehension)

A
  1. Kiedy nie potrzebujemy nowej listy

2. Kiedy logika jest zbyt skomplikowana i długa