Функции#

Введение#

Функции — это фундаментальный компонент программирования на Python, позволяющий упаковывать фрагменты кода в многократно используемые, эффективные разделы, предназначенные для выполнения конкретной задачи. Функции могут вызываться несколько раз в программе, что упрощает организацию кода и помогает избежать повторного использования кода. Функции также упрощают отладку кода.

Важно: Определение функции само по себе не гарантирует её выполнение. Используйте cte_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():
    brain.print("Hello!")

# Call the greeting function
greeting()

Functions with Parameters#

Также можно добавлять параметры к функциям, позволяющие передавать информацию, необходимую функции для работы.

def move_square(moves):
    for index in range(moves):
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

# Call the move_square function
move_square(4)

Functions with Default Arguments#

Аргумент по умолчанию — это параметр, который принимает значение по умолчанию, если значение для этого аргумента не указано в вызове функции.

def move_square(moves=4):
    for index in range(moves):
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

# Call the move_square function
move_square()

Return Values from Functions#

Функции могут отправлять данные обратно вызывающей стороне, используя ключевое слово `return ). Это позволяет перехватывать и использовать выходные данные в вашей программе.

def times_two(number):
    return number * 2

# Display the return value
print(times_two(2))

cte_thread#

cte_thread запускает функцию в новом потоке, поэтому она начинает выполняться сразу же при запуске проекта.

Если используется более одного cte_thread , функции будут выполняться одновременно.

Usage:
cte_thread(function)

Параметр

Описание

function

Название ранее определенной функции.

def move_square():
    # Move in a square path
    while True:
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

def lights():
    # Set the Signal Tower to start blinking the blue LED
    signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)

# Start threads — Do not delete
cte_thread(move_square)
cte_thread(lights)