KWALIFIKACJA INF3 - TEST WIEDZY NR 4

PYTANIE NR 35.
Rozważ następujący fragment kodu w języku Python:
def printMessage(msg = "Hello, world!"):
    print(msg)

printMessage()
Co zostanie wydrukowane jako wynik działania powyższego kodu?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Funkcja printMessage ma parametr msg z wartością domyślną "Hello, world!".
Wywołanie printMessage() bez argumentu używa tej wartości domyślnej, a instrukcja print(msg) wypisze ją na konsoli, dodając znak końca linii.

Pełne wyjaśnienie:

W definicji funkcji printMessage(msg = "Hello, world!") parametr msg ma ustawioną wartość domyślną. Oznacza to, że jeśli podczas wywołania funkcji nie podamy argumentu dla msg, Python automatycznie przypisze temu parametrowi wskazaną wartość domyślną.

W kodzie następuje wywołanie printMessage() bez żadnych argumentów, więc:

  • parametr msg przyjmuje wartość "Hello, world!",
  • wykonywana jest instrukcja print(msg), która wypisuje tekst na standardowe wyjście.

Dlatego na ekranie pojawi się dokładnie: Hello, world! (z typowym dla print() znakiem nowej linii na końcu).

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Nic" — funkcja zawiera print, więc zawsze coś wypisze, o ile nie dojdzie do błędu.
  • "Błąd" — błąd wystąpiłby, gdyby parametr nie miał wartości domyślnej, a funkcję wywołano bez wymaganego argumentu. Tutaj wartość domyślna jest podana.
  • "msg"msg to nazwa parametru (identyfikator), a nie tekst, który ma być wypisany. Wypisywana jest wartość parametru, czyli "Hello, world!".

Wskazówka egzaminacyjna: zawsze sprawdzaj, czy parametry funkcji mają wartości domyślne — to często wyjaśnia, dlaczego wywołanie bez argumentów jest poprawne.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Parametr domyślny to parametr funkcji, któremu w definicji przypisano wartość (np. msg="Hello"). Jeśli przy wywołaniu funkcji nie podasz argumentu dla tego parametru, Python użyje tej zapisanej wartości automatycznie.
Gdy wywołujesz funkcję bez argumentów, Python dopasowuje parametry i wypełnia je wartościami domyślnymi tam, gdzie nie podano argumentów. Dopiero potem wykonuje ciało funkcji, np. instrukcję print().
Błąd typu TypeError pojawia się, gdy wywołasz funkcję bez wymaganego argumentu. Tutaj argument nie jest wymagany, bo parametr msg ma wartość domyślną. Dlatego wywołanie printMessage() jest poprawne.
print(msg) wypisze aktualną wartość zmiennej/parametru msg. Ponieważ wywołanie było bez argumentu, msg przyjmie wartość domyślną "Hello, world!", więc taki tekst pojawi się na konsoli.
Tak, domyślnie print() kończy wydruk znakiem nowej linii. Dlatego po wypisaniu tekstu kursor zwykle przechodzi do następnej linii. Można to zmienić parametrem end, ale w tym kodzie go nie użyto.
Typowe błędy to: nieuwzględnienie, że parametr ma wartość domyślną (mylne oczekiwanie błędu), oraz niebezpieczne używanie obiektów mutowalnych jako domyślnych (np. list). W tym zadaniu domyślna wartość to napis, więc problem nie występuje.
Wystarczy podać argument przy wywołaniu, np. printMessage("Cześć"). Wtedy parametr msg nie bierze wartości domyślnej, tylko przyjmuje przekazany napis i print() wypisze właśnie tę nową wartość.
Nie, sama nazwa msg nie jest wypisywana automatycznie. Wypisywana jest wartość, która jest pod tą nazwą przechowywana w trakcie działania funkcji. Żeby wypisać dosłownie "msg", trzeba by użyć print("msg").
Parametr to nazwa w definicji funkcji (np. msg w def ... (msg=...)). Argument to konkretna wartość przekazana podczas wywołania (np. "Cześć" w printMessage("Cześć")).
Ćwicz krótkie fragmenty kodu: definicje funkcji, parametry (w tym domyślne), wywołania z różną liczbą argumentów oraz efekt działania print(). Pomaga też samodzielne przewidywanie wyniku programu przed uruchomieniem.
info

To pytanie poprawnie rozwiązuje 83% zdających egzamin. średnio łatwe

Źródła:

  • Python 3 Documentation: "4. More Control Flow Tools" (defining functions, default argument values) https://docs.python.org/3/tutorial/controlflow.html#default-argument-values - accessed 2026-02-18
  • Python 3 Documentation: Built-in function print() https://docs.python.org/3/library/functions.html#print - accessed 2026-02-18
  • Python 3 Language Reference: "Function definitions" (parameter defaults) https://docs.python.org/3/reference/compound_stmts.html#function-definitions - accessed 2026-02-18

Materiały:

  • Dokumentacja Python: sekcja o funkcjach i argumentach domyślnych
  • Materiały szkolne z podstaw programowania w Pythonie (funkcje, parametry)
  • Przykłady zadań: definiowanie funkcji z wartościami domyślnymi i różnymi sposobami wywołań

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego