Функции#
Введение#
Функции — это фундаментальный компонент программирования на 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
Параметры |
Описание |
|---|---|
|
Название, которое вы даете своей функции. |
|
Необязательный параметр. Переменные, принимающие входные значения при вызове функции, позволяющие передавать данные в функцию. |
|
Необязательно. Позволяет функции отправить результат обратно вызывающей стороне. Если функция не содержит оператора return, она по умолчанию вернет |
Примечание: Функция всегда должна быть определена до её вызова.
Определение и вызов функций#
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)
Параметр |
Описание |
|---|---|
|
Название ранее определенной функции. |
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)