Spis treści:
- funkcje
- funkcje rekurencyjne
- zadania
W Pythonie tak jak w większości języków programowania można tworzyć podprogramy. Podprogramy są to fragmenty kodu, którym programista nadał nazwę. Python dopuszcza przekazywanie parametrów do podprogramu w chwili jego wywołania.
Przykład
def a(b, c):
return b + c
print a(4,5)
http://ideone.com/bpBPVd
Jak widać w powyższym przykładzie by zdefiniować podprogram należy użyć instrukcji def. Po tej instrukcji pojawia się nazwa funkcji i nawias okrągły. Opcjonalnie w nawiasie okrągłym mogą znaleźć się nazwy zmiennych, do których będziemy chcieli przekazać jakieś wartości.
Podprogram może zwracać wyznaczoną przez siebie wartość w miejsce swojego wywołania. W tym celu używa się instrukcji return a tuż po niej instrukcja, której rezultat programista chce wykorzystać.
Jak nazywa się podprogram, który nie zwraca żadnej wartości (np. w języku Pascal)?
Funkcje do przeanalizowania:
def a():
print 5
def b():
return 5
def c(x):
return x ** 2
def d(x):
if x>0:
return x
return -x
def e(x = 3):
return x - 1
def f(x, y = 0):
return x*y
a
a()
print a()
b()
print b()
c(2)
print c(2)
d(-10)
print d(-10)
print d(c(b()))
print e()
print e(2)
print f(2)
print f(2, 2)
print f(2,d(c(b())))
http://ideone.com/Y3vbu9
W powyższych przykładach pojawia się instrukcja przypisania w części gdzie umieszczane są argumenty funkcji. Oznacza ona nadanie wartości domyślnej danemu parametrowi (jeżeli w wywołaniu funkcji nie pojawi się jakiś parametr przypisana zostanie mu wartość domyślna). Nie można stworzyć funkcji
def a(x = 0, y):
return x + y
print a(4)
http://ideone.com/ADC7o2
gdyż nie można jednoznacznie stwierdzić, który parametr funkcji ma mieć przypisaną czwórkę. Należy więc pamiętać by parametry z domyślnymi wartościami pojawiły się na końcu listy argumentów.
W język Python wbudowana jest funkcja map. Tworzy ona listę zwracanych przez funkcję (pierwszy argument) wartości z kolejno przetworzonych elementów listy parametrów.
def a(x):
return x**2
print map(a, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
http://ideone.com/NqseFA
Jest to całkiem przydatna funkcja gdyż pozwala na odrobinę lenistwa podczas tworzenia kodu programu.
Lista, wraz opisami, wbudowanych w język Python funkcji jest dostępna na pod linkiem adf.ly/d95DQ.
Popraw poniższą funkcję by zwracała największy z przekazanych jej parametrów. Swoje poprawki nanieś tylko w drugiej linii kodu i użyj w tym celu funkcji max:
def maks(a, b, c):
return a, b, c
print maks(3, 1, 2)
http://ideone.com/iQL2hl
odpowiedź: http://ideone.com/3GsGUN
Jeżeli nie wiemy ile parametrów ma przyjąć nasza funkcja to można jako argument podać zmienną, której nazwa rozpocznie się gwiazdką:
- funkcje
- funkcje rekurencyjne
- zadania
W Pythonie tak jak w większości języków programowania można tworzyć podprogramy. Podprogramy są to fragmenty kodu, którym programista nadał nazwę. Python dopuszcza przekazywanie parametrów do podprogramu w chwili jego wywołania.
Przykład
def a(b, c):
return b + c
print a(4,5)
http://ideone.com/bpBPVd
Jak widać w powyższym przykładzie by zdefiniować podprogram należy użyć instrukcji def. Po tej instrukcji pojawia się nazwa funkcji i nawias okrągły. Opcjonalnie w nawiasie okrągłym mogą znaleźć się nazwy zmiennych, do których będziemy chcieli przekazać jakieś wartości.
Podprogram może zwracać wyznaczoną przez siebie wartość w miejsce swojego wywołania. W tym celu używa się instrukcji return a tuż po niej instrukcja, której rezultat programista chce wykorzystać.
Jak nazywa się podprogram, który nie zwraca żadnej wartości (np. w języku Pascal)?
Funkcje do przeanalizowania:
def a():
print 5
def b():
return 5
def c(x):
return x ** 2
def d(x):
if x>0:
return x
return -x
def e(x = 3):
return x - 1
def f(x, y = 0):
return x*y
a
a()
print a()
b()
print b()
c(2)
print c(2)
d(-10)
print d(-10)
print d(c(b()))
print e()
print e(2)
print f(2)
print f(2, 2)
print f(2,d(c(b())))
http://ideone.com/Y3vbu9
W powyższych przykładach pojawia się instrukcja przypisania w części gdzie umieszczane są argumenty funkcji. Oznacza ona nadanie wartości domyślnej danemu parametrowi (jeżeli w wywołaniu funkcji nie pojawi się jakiś parametr przypisana zostanie mu wartość domyślna). Nie można stworzyć funkcji
def a(x = 0, y):
return x + y
print a(4)
http://ideone.com/ADC7o2
gdyż nie można jednoznacznie stwierdzić, który parametr funkcji ma mieć przypisaną czwórkę. Należy więc pamiętać by parametry z domyślnymi wartościami pojawiły się na końcu listy argumentów.
W język Python wbudowana jest funkcja map. Tworzy ona listę zwracanych przez funkcję (pierwszy argument) wartości z kolejno przetworzonych elementów listy parametrów.
def a(x):
return x**2
print map(a, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
http://ideone.com/NqseFA
Jest to całkiem przydatna funkcja gdyż pozwala na odrobinę lenistwa podczas tworzenia kodu programu.
Lista, wraz opisami, wbudowanych w język Python funkcji jest dostępna na pod linkiem adf.ly/d95DQ.
Popraw poniższą funkcję by zwracała największy z przekazanych jej parametrów. Swoje poprawki nanieś tylko w drugiej linii kodu i użyj w tym celu funkcji max:
def maks(a, b, c):
return a, b, c
print maks(3, 1, 2)
http://ideone.com/iQL2hl
odpowiedź: http://ideone.com/3GsGUN
Jeżeli nie wiemy ile parametrów ma przyjąć nasza funkcja to można jako argument podać zmienną, której nazwa rozpocznie się gwiazdką:
Komentarze