Funkcijas#

Ievads#

Funkcijas ir Python programmēšanas pamatkomponente, kas iesaiņo koda fragmentus atkārtoti izmantojamās, efektīvās koda sadaļās, kas paredzētas konkrēta uzdevuma veikšanai. Funkcijas programmas ietvaros var izsaukt vairākas reizes, tādējādi atvieglojot koda organizēšanu un palīdzot izvairīties no atkārtota koda. Funkcijas arī atvieglo koda atkļūdošanu.

Svarīgi: Funkcijas definēšana vien nenodrošina tās palaišanu. Izmantojiet start_thread, lai funkciju palaistu jaunā pavedienā, tādējādi tā sāk darboties uzreiz projekta sākumā, nevis gaidot notikumu vai atzvanīšanas signālu.

  • def definē funkciju.

  • return nosūta funkcijas izvadi atpakaļ uz galveno programmu.

Lietojums:

def function_name(parameters):
    # Code to execute when the function is called
    return result  # Optional, used to return a value

Parametri

Apraksts

function_name

Nosaukums, ko piešķirat savai funkcijai.

parameters

Neobligāti. Mainīgie, kas pieņem ievades vērtības, kad funkcija tiek izsaukta, ļaujot datus nodot funkcijai.

result

Neobligāti. Ļauj funkcijai nosūtīt rezultātu atpakaļ izsaucējam. Ja funkcija neietver atgriešanas operatoru, tā pēc noklusējuma atgriezīs None.

Note: A function must always be defined before it is called.

Funkciju definēšana un izsaukšana#

Functions with No Parameters#

Ja funkcijai nav nepieciešama ievade, to var definēt bez parametriem.

def greeting():
    console.print("Hello!")

def main():
    # Call the greeting function
    greeting()

# Start threads — Do not delete
start_thread(main)

Functions with Parameters#

Funkcijām var pievienot arī parametrus, kas ļauj nodot informāciju, kas funkcijai nepieciešama darbībai.

# 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#

Noklusējuma arguments ir parametrs, kas pieņem noklusējuma vērtību, ja funkcijas izsaukumā šim argumentam nav norādīta vērtība.

# 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#

Funkcijas var nosūtīt datus atpakaļ izsaucējam, izmantojot atslēgvārdu return Tas ļauj uztvert un izmantot izvadi savā programmā.

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)

sākuma_pavediens#

start_thread startē funkciju jaunā pavedienā, tāpēc tā sāk darboties uzreiz projekta sākumā.

Ja tiek izmantots vairāk nekā viens start_thread , funkcijas darbosies vienlaicīgi.

Usage:
start_thread(function)

Parametri

Apraksts

function

Iepriekš definētas funkcijas nosaukums.

# 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)