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.
defdefinē funkciju.returnnosū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 |
|---|---|
|
Nosaukums, ko piešķirat savai funkcijai. |
|
Neobligāti. Mainīgie, kas pieņem ievades vērtības, kad funkcija tiek izsaukta, ļaujot datus nodot funkcijai. |
|
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 |
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 |
|---|---|
|
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)