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.…

Wyświetlanie Adresu Pamięci

Wyświetlanie adresu pamięci (wirtualnej) jest stosunkowo prostym zadaniem, bowiem jest to nic innego jak liczba, której typowy rozmiar wynosi 64-bity (lub 32-bity). Specyfika tej liczby polega jednak na tym, iż jest ona przedstawiana w formacie szesnastkowym (heksadecymalnym). Odwzorowaniem adresu pamięci w języku C++ (tak samo jak w języku C) nie jest jednak typ liczbowy lecz…

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…

Struktura vs Klasa

Klasa (ang. class) stanowi definicję typu danych składającego się z pól (danych składowych) oraz metod (funkcji składowych). Jest to podstawowe pojęcie z zakresu programowania obiektowego. W języku C++ taki nowy typ danych możemy zdefiniować za pomocą słowa kluczowego class lub struct. Może się więc wydawać, że skoro istnieje takie rozróżnienie, musi nieść ze sobą istotne…

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…