Функції#

Вступ#

Функції є фундаментальним компонентом програмування на Python, вони упаковують фрагменти коду в багаторазові, ефективні розділи коду, призначені для виконання певного завдання. Функції можна викликати кілька разів у програмі, що спрощує організацію коду та допомагає уникнути повторень коду. Функції також полегшують налагодження коду.

Важливо: Одне лише визначення функції не забезпечує її виконання. Використовуйте start_thread, щоб запустити функцію в новому потоці, щоб вона почала виконуватися одразу на початку проекту, а не чекала на подію чи зворотний виклик.

  • def визначає функцію.

  • return надсилає вивід функції назад до головної програми.

Використання:

def function_name(parameters):
    # Code to execute when the function is called
    return result  # Optional, used to return a value

Параметри

Опис

function_name

Назва, яку ви даєте своїй функції.

parameters

Необов’язково. Змінні, які приймають вхідні значення під час виклику функції, що дозволяє передавати дані у функцію.

result

Необов’язково. Дозволяє функції надсилати результат назад викликаючій функції. Якщо функція не містить оператора return, вона за замовчуванням поверне None.

Примітка: Функцію завжди потрібно визначити перед її викликом.

Визначення та виклик функцій#

Functions with No Parameters#

Якщо функція не потребує вводу, її можна визначити без параметрів.

def greeting():
    console.print("Hello!")

def main():
    # Call the greeting function
    greeting()

# Start threads — Do not delete
start_thread(main)

Functions with Parameters#

Ви також можете додавати параметри до функцій, які дозволяють передавати інформацію, необхідну для роботи функції.

# Build Used: Super Code Base 2.0
def move_square(moves):
    for index in range(moves):
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def main():
    # Call the move_square function
    move_square(4)
    

# Start threads — Do not delete
start_thread(main)

Functions with Default Arguments#

Аргумент за замовчуванням — це параметр, який приймає значення за замовчуванням, якщо значення не вказано у виклику функції для цього аргументу.

# Build Used: Super Code Base 2.0
def move_square(moves=4):
    for index in range(moves):
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def main():
    # Call the move_square function
    move_square()
    

# Start threads — Do not delete
start_thread(main)

Return Values from Functions#

Функції можуть надсилати дані назад викликаючій функції за допомогою ключового слова return Це дозволяє вам записувати та використовувати вивід у вашій програмі.

def times_two(number):
    return number * 2

def main():
    # Display the return value
    console.print(times_two(2))

# Start threads — Do not delete
start_thread(main)

початковий_потік#

start_thread запускає функцію в новому потоці, тому вона починає виконуватися одразу на початку проекту.

Якщо використовується більше одного start_thread , функції будуть виконуватися одночасно.

Usage:
start_thread(function)

Параметри

Опис

function

Ім’я раніше визначеної функції.

# Build Used: Super Code Base 2.0
def move_square():
    # Move in a square path
    while True:
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def led_lights():
    # Blink LED lights
    while True:
        bumper.set_color(GREEN)
        wait(0.5, SECONDS)
        bumper.set_color(RED)
        wait(0.5, SECONDS)

# Start threads — Do not delete
start_thread(move_square)
start_thread(led_lights)