Tworzenie funkcji.
Funkcja to sposób na zdefiniowanie i nazwanie poleceń ułożonych w określonej kolejności. To
bardzo przydatne szczególnie, gdy ten fragment kodu będziemy wykorzystywali wiele razy.
Poniższy kod
pozwoli zrozumieć sens tworzenia i wykorzystywania funkcji.
Jak widać powyżej, konstrukcja funkcji jest bardzo podobna do pętli. Zaraz za słowem
kluczowym def
znajduje się nazwa funkcji
, którą wymyślasz samodzielnie. Zasady nazywania
funkcji są takie same jak nazywania zmiennych.
Bezpośrednio za nazwą muszą znaleźć się okrągłe nawiasy
puste w środku ()
. Wtedy tworzysz prostą funkcję. Istnieje też możliwość utworzenia funkcji z
parametrem, ale o tym później.
Po nawiasach, elementem obowiązkowym jest dwukropek
,
który rozpoczyna funkcję. Zawartość funkcji, czyli wszystkie polecenia, które mają wykonać się po wywołaniu
tej funkcji muszą zostać przesunięte w prawo o odległość jednego TABA
.
Aby wyjść z pętli i pisać dalszą część kodu, która nie jest już częścią definicji (funkcji).
Wywoływanie funkcji.
Samo stworzenie funkcji nie zmienia nic w programie, dopuki tej funkcji gdzieś nie wykorzystamy. Aby to zrobić,
należy w odpowiednim miejscu kodu napisać komendę: nazwa_funkcji()
. Tym razem bez dwukropka i słowa
kluczowego def.
Poniżej przykład utworzenia funkcji i jej wywołania (wykorzystania):
import turtle
tom = turtle.Turtle()
def skok():
tom.pu()
tom.fd(50)
tom.pd()
def kwadrat():
for i in range(4):
tom.fd(40)
tom.lt(90)
for i in range(3):
kwadrat()
skok()
Jak widzisz, dzięki funkcjom, teraz możesz łatwo wykonywać skoki (poruszanie się bez rysowania)
na odległość 50px oraz rysować kwadraty (o boku 40px). Od teraz za każdym razem kiedy zajdzie
potrzeba skoku o 50px lub narysowania kwadratu o boku 40px, wystarczy napisać dwie linijki kodu:
kwadrat() lub
skok() .
WARTO WIEDZIEĆ!
Warto wzbogacić tworzenie funkcji o tak zwane parametry. Dzięki nim, możesz stworzyć skok o nieokreślonej długości, kwadrat o nieokreślonej długości boku itp.
Poniżej przykład, który nauczy Cię jak to zrobić w praktyce:
import turtle
tom = turtle.Turtle()
def skok(noga):
tom.pu()
tom.fd(noga)
tom.pd()
def kwadrat(bok):
for i in range(4):
tom.fd(bok)
tom.lt(90)
for i in range(3):
kwadrat(40)
skok(50)
Efekt końcowy:
Różnica pomiędzy tym kodem, a poprzednim jest taka, że tym razem wystarczy w nawiasie uruchamianej funkcji, wystarczy wpisać liczbę, a funkcja automatycznie narysuje kwadrat o zadanym boku lub wykona skok o taką odległość jak w nawiasie. Nie trzeba niczego zmieniać w definicji funkcji.
Creating functions.
A function is a way to define and name commands arranged in a specific order. This
very useful especially when we will use this piece of code many times.
The following code
will help you understand the meaning of creating and using functions.
As you can see above, the construction of the function is very similar to a loop. Right after the
keyword def
is located function name
, which you make up on your own. The rules for naming
functions are the same as naming variables.
Immediately after the name must be round brackets
empty in the middle ()
. Then you create a simple function. It is also possible to create a function with a
parameter, but about that later.
After the brackets, the mandatory element is colon
,
which starts the function. The contents of the function, i.e. all the commands that are to execute after calling the
of this function must be shifted to the right by a distance of one tab
.
To exit the loop and write a further part of the code, which is no longer part of the definition (function).
Run of functions.
Just creating a function doesn't change anything in the program, until we use that function somewhere. To do this,
write a command in the necessary place in the code: function_name()
. This time without the colon and
the keyword def.
Below is an example of how to create a function and use it:
As you can see, thanks to the functions, you can now easily make jumps (moving without drawing)
over a distance of 50px and draw squares (with sides of 40px). From now on, every time you need
to jump by 50px or draw a square with a side of 40px, all you need to do is write two lines of code:
square() lub
jump() .
import turtle
tom = turtle.Turtle()
def jump():
tom.pu()
tom.fd(50)
tom.pd()
def square():
for i in range(4):
tom.fd(40)
tom.lt(90)
for i in range(3):
square()
jump()
GOOD TO KNOW!
It is useful to enrich the creation of functions with so-called parameters. With these, you can create a jump of undefined length, a square of undefined side length, etc. Below is an example that will teach you how to do this in practice:
import turtle
tom = turtle.Turtle()
def jump(foot):
tom.pu()
tom.fd(foot)
tom.pd()
def square(Side):
for i in range(4):
tom.fd(Side)
tom.lt(90)
for i in range(3):
square(40)
jump(50)
Final result:
The difference between this code and the previous one is that this time all you need to do in the brackets of the function to be run, just enter a number, and the function will automatically draw a square with the specified side or will make a jump of the distance as in the parentheses. You don't need to change in the function definition.