Funktioner#
Introduktion#
Funktioner är en grundläggande komponent i Python-programmering, där de paketerar kodavsnitt till återanvändbara, effektiva kodavsnitt som är utformade för att utföra en specifik uppgift. Funktioner kan anropas flera gånger i ett program, vilket gör kodorganisationen enklare och hjälper till att undvika upprepad kod. Funktioner gör det också lättare att felsöka kod.
Viktigt: Att bara definiera en funktion gör inte att den körs. Använd start_thread för att starta en funktion i en ny tråd så att den börjar köras direkt i början av projektet, istället för att vänta på en händelse eller återanrop.
defdefinierar en funktion.returnskickar funktionens utdata tillbaka till huvudprogrammet.
Användande:
def function_name(parameters):
# Code to execute when the function is called
return result # Optional, used to return a value
Parametrar |
Beskrivning |
|---|---|
|
Ett namn du ger din funktion. |
|
Valfritt. Variabler som accepterar indatavärden när funktionen anropas, vilket gör att data kan skickas till funktionen. |
|
Valfritt. Låter funktionen skicka ett resultat tillbaka till anroparen. Om en funktion inte innehåller en return-sats returnerar den |
Obs: En funktion måste alltid definieras innan den anropas.
Definiera och anropa funktioner#
Functions with No Parameters#
Om en funktion inte kräver inmatning kan du definiera den utan parametrar.
def greeting():
console.print("Hello!")
# Call the greeting function
greeting()
Functions with Parameters#
Du kan också lägga till parametrar till funktioner, vilket låter dig skicka in information som funktionen behöver för att fungera.
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#
Ett standardargument är en parameter som antar ett standardvärde om inget värde anges i funktionsanropet för det argumentet.
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#
Funktioner kan skicka data tillbaka till anroparen med hjälp av nyckelordet return Detta gör att du kan samla in och använda utdata i ditt program.
def times_two(number):
return number * 2
# Display the return value
console.print(times_two(2))
starttråd#
start_thread startar en funktion i en ny tråd så att den börjar köras direkt i början av projektet.
Om mer än en start_thread används kommer funktionerna att köras samtidigt.
Usage:
start_thread(function)
Parameter |
Beskrivning |
|---|---|
|
Namnet på en tidigare definierad funktion. |
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)