Функции#

Введение#

Функции — это фундаментальный компонент программирования на 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 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)