• PL
  • EN

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:


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()

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() .

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.