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