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!")

# Call the greeting function
greeting()

Functions with Parameters#

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

def move_square(moves):
    for index in range(moves):
        robot.drive_for(FORWARD, 1, STEPS)
        robot.turn_for(RIGHT, 90)

# Call the move_square function
move_square(4)

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.

def move_square(moves=4):
    for index in range(moves):
        robot.drive_for(FORWARD, 1, STEPS)
        robot.turn_for(RIGHT, 90)

# Call the move_square function
move_square()

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

# Display the return value
console.print(times_two(2))

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.

def move_square():
    # Move in a square path
    while True:
        robot.drive_for(FORWARD, 1, STEPS)
        robot.turn_for(RIGHT, 90)

def blink_led():
    # Blink the LED
    while True:
        robot.led.glow(GREEN)
        wait(0.5, SECONDS)
        robot.led.glow(OFF)
        wait(0.5, SECONDS)

# Start threads — Do not delete
start_thread(move_square)
start_thread(blink_led)