Funkcijos#

Įvadas#

Funkcijos yra esminis „Python“ programavimo komponentas, supakuojantis kodo fragmentus į pakartotinai naudojamas, efektyvias kodo dalis, skirtas atlikti konkrečią užduotį. Funkcijas programoje galima iškviesti kelis kartus, todėl kodo tvarkymas tampa lengvesnis ir išvengiama pasikartojančio kodo. Funkcijos taip pat palengvina kodo derinimą.

Svarbu: Vien tik funkcijos apibrėžimas jos nevykdo. Naudokite start_thread, kad funkcija būtų paleista naujoje gijoje, jog pradėtų veikti iš karto projekto pradžioje, o ne lauktų įvykio ar grįžtamojo ryšio.

  • def apibrėžia funkciją.

  • return siunčia funkcijos išvestį atgal į pagrindinę programą.

Naudojimas:

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

Parametrai

Aprašymas

function_name

Pavadinimas, kurį suteikiate savo funkcijai.

parameters

Pasirinktinai. Kintamieji, kurie priima įvesties reikšmes, kai iškviečiama funkcija, leidžiant perduoti duomenis funkcijai.

result

Pasirinktinai. Leidžia funkcijai nusiųsti rezultatą atgal skambinančiajam. Jei funkcija neapima grąžinimo sakinio, pagal numatytuosius nustatymus ji grąžins None.

Pastaba: Funkcija visada turi būti apibrėžta prieš ją iškviečiant.

Funkcijų apibrėžimas ir iškvietimas#

Functions with No Parameters#

Jei funkcijai nereikia įvesties, galite ją apibrėžti be parametrų.

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

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

# Start threads — Do not delete
start_thread(main)

Functions with Parameters#

Taip pat galite pridėti parametrus prie funkcijų, kurie leidžia perduoti informaciją, kurios reikia funkcijai veikti.

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

Numatytasis argumentas yra parametras, kuris prisiima numatytąją reikšmę, jei funkcijos iškvietime šiam argumentui reikšmė nepateikiama.

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

Funkcijos gali siųsti duomenis atgal skambinančiajam naudodamos raktinį žodį return Tai leidžia užfiksuoti ir naudoti išvestį savo programoje.

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)

pradinis_gija#

start_thread paleidžia funkciją naujoje gijoje, todėl ji pradeda veikti iškart projekto pradžioje.

Jei naudojama daugiau nei viena start_thread funkcija, jos veiks vienu metu.

Usage:
start_thread(function)

Parametrai

Aprašymas

function

Anksčiau apibrėžtos funkcijos pavadinimas.

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