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.
defapibrėžia funkciją.returnsiunč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 |
|---|---|
|
Pavadinimas, kurį suteikiate savo funkcijai. |
|
Pasirinktinai. Kintamieji, kurie priima įvesties reikšmes, kai iškviečiama funkcija, leidžiant perduoti duomenis funkcijai. |
|
Pasirinktinai. Leidžia funkcijai nusiųsti rezultatą atgal skambinančiajam. Jei funkcija neapima grąžinimo sakinio, pagal numatytuosius nustatymus ji grąžins |
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():
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):
drivetrain.drive_for(FORWARD, 150)
drivetrain.turn_for(RIGHT, 90)
# 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):
drivetrain.drive_for(FORWARD, 150)
drivetrain.turn_for(RIGHT, 90)
# 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))
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 , funkcijos veiks vienu metu.
Usage:
start_thread(function)
Parametras |
Aprašymas |
|---|---|
|
Anksčiau apibrėžtos funkcijos pavadinimas. |
def move_square():
# Move in a square path
while True:
drivetrain.drive_for(FORWARD, 150)
drivetrain.turn_for(RIGHT, 90)
def lights():
# Blink Optical Sensor lights
while True:
optical_sensor.set_light(LEDStateType.ON)
wait(0.5, SECONDS)
optical_sensor.set_light(LEDStateType.OFF)
wait(0.5, SECONDS)
# Start threads — Do not delete
start_thread(move_square)
start_thread(lights)