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 cte_thread, kad paleistumėte funkciją naujoje gijoje, jog ji 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():
    brain.print("Hello!")

# Call the greeting function
greeting()

Functions with Parameters#

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

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#

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

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#

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

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

cte_thread#

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

Jei naudojama daugiau nei viena cte_thread , funkcijos veiks vienu metu.

Usage:
cte_thread(function)

Parametras

Aprašymas

function

Anksčiau apibrėžtos funkcijos pavadinimas.

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)