Функции#
Введение#
Функции — это фундаментальный компонент программирования на 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
Параметры |
Описание |
|---|---|
|
Название, которое вы даете своей функции. |
|
Необязательный параметр. Переменные, принимающие входные значения при вызове функции, позволяющие передавать данные в функцию. |
|
Необязательно. Позволяет функции отправить результат обратно вызывающей стороне. Если функция не содержит оператора return, она по умолчанию вернет |
Примечание: Функция всегда должна быть определена до её вызова.
Определение и вызов функций#
Functions with No Parameters#
Если функция не требует входных данных, её можно определить без параметров.
def greeting():
console.print("Hello!")
# Call the greeting function
greeting()
Functions with Parameters#
Также можно добавлять параметры к функциям, позволяющие передавать информацию, необходимую функции для работы.
def move_square(moves):
for index in range(moves):
drivetrain.drive_for(FORWARD, 150)
drivetrain.turn_for(RIGHT, 90)
# Call the move_square function
move_square(4)
Functions with Default Arguments#
Аргумент по умолчанию — это параметр, который принимает значение по умолчанию, если значение для этого аргумента не указано в вызове функции.
def move_square(moves=4):
for index in range(moves):
drivetrain.drive_for(FORWARD, 150)
drivetrain.turn_for(RIGHT, 90)
# Call the move_square function
move_square()
Return Values from Functions#
Функции могут отправлять данные обратно вызывающей стороне, используя ключевое слово `return ). Это позволяет перехватывать и использовать выходные данные в вашей программе.
def times_two(number):
return number * 2
# Display the return value
console.print(times_two(2))
начало_потока#
start_thread запускает функцию в новом потоке, поэтому она начинает выполняться сразу же при запуске проекта.
Если используется более одного вызова start_thread start_thread , функции будут выполняться одновременно.
Usage:
start_thread(function)
Параметр |
Описание |
|---|---|
|
Название ранее определенной функции. |
def move_square():
# Move in a square path
while True:
drivetrain.drive_for(FORWARD, 150)
drivetrain.turn_for(RIGHT, 90)
def lights():
# Blink Optical Sensor lights
while True:
optical_sensor.set_light(LEDStateType.ON)
wait(0.5, SECONDS)
optical_sensor.set_light(LEDStateType.OFF)
wait(0.5, SECONDS)
# Start threads — Do not delete
start_thread(move_square)
start_thread(lights)