Akcja Rekrutacja Python 20

Pytania na dziś Czy poniższy kod zadziała ? Jakiego typu będzie zmienna przekazana do funkcji ? def nasza_funkcja(zmienna): print(type(zmienna)) lista = [’jeden’, 'dwa’, 'trzy’] nasza_funkcja(x * 2 for x in lista) Zadziała, czy nie zadziała? Oczywiście, że zadziała. Jeśli myślałeś inaczej pewnie zgubił cię pomysł mnożenia zmiennych zwierających tekst. Python nie ma z tym problemu.…

Akcja Rekrutacja Python 19

Zadanie Dana jest funkcja: def nic_nie_robie(param_1, param_2, param_3=None): print(param_1) print(param_2) print(param_3) Które z poniższych wywołań naszej funkcji są poprawne ? nic_nie_robie(1,2) nic_nie_robie(*[1, 2]) nic_nie_robie(**{’param_1′ : 1, 'param_2′ : 2, 'param_3′ : 3}) nic_nie_robie(*{’param_1′ : 1, 'param_2′ : 2, 'param_3′ : 3}) nic_nie_robie(param_1=1,2,3) Odpowiedź Standardowe pytanie a,b,c,d wielokrotnego wyboru i żadna odpowiedz nie jest poprawna. Nie…

Akcja Rekrutacja Python 18

Czym są metody typu ”setters and getters” i jak je zaimplementować w Pythonie? Odpowiedź Metody tego typu są bardzo dobrze znane programistom języka Java. Służą one do pobierania i ustawiania pól w obiektach. W najprostszym przypadku do pól klasy odwołujemy się bezpośrednio przez operator kropki: class Auto: def __init__(self, marka, model): self.marka = marka self.model…

Akcja Rekrutacja Python 17

Jak przeciążyć konstruktor ? Odpowiedź Nie da się 🙂 Nie lubię pytań tego typu bo jest to troszkę celowe wprowadzanie kandydata w błąd. Jakby jednak nie patrzeć język Python nie przewiduje możliwości przeciążania czegokolwiek. Nie można przeciążyć funkcji Nie można przeciążyć metody Nie można przeciążyć również konstruktora (bo on także jest metodą) Jest to troszkę…

Akcja Rekrutacja Python 16

Co zostanie wyświetlone po wykonaniu poniższego kodu ? slownik = {’jeden’: 1, 'dwa’:2, 'trzy’: 3} lista1 = [slownik, 4, 5, 6] def zmien_liste_albo_nie(lista): lista[1] = 40 lista[0][’jeden’] = 10 print(lista1) zmien_liste_albo_nie(lista1[:]) print(lista1) To jest klasyk To pytanie to chyba numer jeden wszystkich pytań rekrutacyjnych. Na 100% na nie trafisz. Było na wszystkich rozmowach, w których…

Akcja Rekrutacja Python 15

Pytanie Co to jest callable object i czym on się różni od funkcji ? Doprecyzujmy pytanie Nie chodzi tu o różnice składniowe. Raczej interesuje nas rodzaj problemów jakie można przez te dwa podejścia rozwiązać. Szybkie przypomnienie Zwykła funkcja może wyglądać na przykład tak: def nic_nie_rob(): print(’serio nic nie robie’) nic_nie_rob() Output: serio nic nie robie…

Akcja Rekrutacja Python 14

Pytanie Czy w języku Python zmienne przekazywane są przez wartość, czy przez referencję ? Dobra odpowiedz Oczywiście przez referencję. Krótkie przypomnienie Przekazywanie przez wartość Czym różni się przekazywanie przez wartość od przekazywania przez referencję ?  Jeśli przekazujemy zmienne przez wartość oznacza to, że wewnątrz funkcji operujemy na kopii naszej zmiennej. Innym słowem mamy gwarancję, że…

Akcja Rekrutacja Python 13

Dzisiaj naszym zadaniem jest policzenie wstąpień liczb w zadanej liście. Dokładnie należy napisać funkcję przyjmującą listę jako parametr oraz zwracającą słownik gdzie kluczem jest dana liczba, a wartością ilość jej wystąpień. Czyli dla listy lista = [1, 2, 2, 3, 4, 4, 5, 5, 5] nasza funkcja powinna zwrócić następujący słownik: {1: 1, 2: 2,…

Akcja Rekrutacja Python 12

Dzisiaj pytanie bardziej opisowe, chociaż będą też przykłady. Co to jest nazwana tupla (ang. named tuple) i czym się różni od zwykłej tupli ? Kiedy należy ją użyć i jakie problemy rozwiązuje ? Czemu używamy tupli Tuple zaraz po listach są chyba najczęściej używanymi strukturami danych w Pythonie. Ja trzymam się zasady: zawsze jeśli tylko…