Python – #1 – Funkcja jako argument funkcji

Wprowadzenie.

W poniższym wpisie przedstawiam w jaki sposób przekazać funkcję jako argument drugiej funkcji.  

Zakres artykułu.

  • Funkcja jako argument funkcji
  • Testy

Funkcja jako argument funkcji

W pierwszej kolejności napiszmy naszą pierwszą funkcją, która będzie przyjmowała jeden argument, który następnie będzie wyświetlany przy pomocy funkcji print 

def fun1(text):
    print(text)

W kolejnym kroku stwórzmy drugą funkcję, która będzie przyjmowała dwa argumenty. Pierwszy argument będzie nieokreślony myFunction, natomiast drugi argument arg1 niech przyjmuje pusty string. W celu wywołania funkcji, która zostanie przesłana jako argument wystarczy, że wewnątrz ciała naszej drugiej funkcji wywołamy funkcję jako nazwa naszego pierwszego parametru czyli wypiszemy myFunction(). Dodatkowo ponieważ nasza pierwsza funkcja przyjmuje jeden argument musimy ten argument wprowadzić w ciele naszej drugiej funkcji myFunction(arg1). Na koniec dodajmy dwa printy, tak abyśmy podczas testowania wiedzieli, w którym momencie nasza funkcja została wywołana. 

def fun2(myFunction, arg1=""):
    print("Pierwszy print")
    myFunction(arg1)
    print("Drugi print")

Na koniec napiszmy wywołanie funkcji drugiej, z argumentem jako funkcja pierwsza. Podobnie jak wcześniej dodajmy dwa printy, tak aby ułatwić nam testowanie. 

print("START")
fun2(fun1, "Tekst do funkcji wewnetrznej")
print("KONIEC")

Cały program wygląda następująco.

def fun1(text):
    print(text)

def fun2(myFunction, arg1=""):
    print("Pierwszy print")
    myFunction(arg1)
    print("Drugi print")

print("START")
fun2(fun1, "Tekst do funkcji wewnetrznej")
print("KONIEC")

Testy

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

START
Pierwszy print
Tekst do funkcji wewnetrznej
Drugi print
KONIEC

Autor artykułu
Dominik Bednarski

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.