|

Python – #2 – Funkcja o zmiennej liczbie argumentów

Wprowadzenie.

W poniższym wpisie przedstawiam w jaki sposób jedna funkcja możemy pobierać zmienną liczbę argumentów.

Zakres artykułu.

  • Funkcja o zmiennej liczbie argumentów
  • Testy

Funkcja o zmiennej liczbie argumentów

W pierwszej kolejności napiszmy funkcję, która będzie przyjmowała jeden argument pozycyjny oraz jeden argument kluczowy. Taka funkcja na przykład może wyglądać następująco. 

W tym jednak przypadku nasza funkcja może przyjąć maksymalnie 2 argumenty. Co jeśli będziemy chcieli napisać taką funkcję, która będzie przyjmowała nieokreśloną liczbę argumentów?

Pierwszym sposobem stworzenia takiej funkcji, jest zadeklarowanie parametru z gwiazdką. W ten oto sposób będziemy w stanie podać wiele argumentów do funkcji. Poniżej przedstawiam zmodyfikowany przykład pierwszej funkcji, gdzie trzeci parametr jest z gwiazdką. 

W ten oto sposób od trzeciej pozycji, wszystkie argumenty zostaną przypisane do parametru par3 w postaci krotki (Tuple), przez co dalsze reguły odwoływania się do przesłanych wartości są takie same jak w typie danych krotka

Drugim sposobem stworzenia funkcji, która przyjmuje nieokreśloną liczbę parametrów jest zadeklarowanie parametru z dwiema gwiazdkami. Różnica między pierwszym a drugim podejściem jest taka, że teraz podajemy wartości w postaci klucz – wartość.

W ten oto sposób od trzeciej pozycji, wszystkie argumenty zostaną przypisane do parametru par3 w postaci słownika (dictionary). Podając kolejne argumenty od pozycji 3, musimy pamiętać, aby podać najpierw klucz a następnie przypisać mu wartość. Ważną różnicą jest sposób odwoływania się do konkretnych argumentów, ponieważ w tym przypadku musimy skorzystać z konstrukcji par3.get(„nazwa_klucza”)

Tworząc funkcję możemy obydwie metody mieszać, tak jak przedstawiłem to na poniższym przykładzie. Do samodzielnego przećwiczenia i przetestowania proponuję pozmieniać pozycje parametrów i sprawdzić, kiedy jaka konstrukcja jest prawidłowa a kiedy nie.

Przykładowy program, który pozwoli nam przetestować powyższe funkcje może wyglądać następująco.

Na koniec zamieszczę, jeszcze kompletny program

Testy

Po uruchomieniu programu w konsoli powinniśmy otrzymać następujący efekt.

Autor artykułu
Dominik Bednarski

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *