功能#

介绍#

函数是 Python 编程的基本组成部分,它将代码片段打包成可复用、高效的代码段,用于执行特定任务。函数可以在程序中多次调用,从而简化代码组织,并有助于避免重复代码。函数还能使代码更易于调试。

Important: Defining a function alone doesn’t make it run. Use start_thread to start running a function right when your project begins, instead of waiting for an event or callback.

  • 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(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)