Funkcje#
Wstęp#
Funkcje są fundamentalnym elementem programowania w Pythonie, umożliwiając pakowanie fragmentów kodu w wydajne, wielokrotnego użytku sekcje kodu, przeznaczone do wykonywania określonych zadań. Funkcje można wywoływać wielokrotnie w programie, co ułatwia organizację kodu i pomaga uniknąć jego powtarzania. Funkcje ułatwiają również debugowanie kodu.
Ważne: Samo zdefiniowanie funkcji nie powoduje jej uruchomienia. Użyj start_thread, aby uruchomić funkcję w nowym wątku, dzięki czemu zacznie ona działać od razu na początku projektu, zamiast czekać na zdarzenie lub wywołanie zwrotne.
defdefiniuje funkcję.returnwysyła dane wyjściowe funkcji z powrotem do programu głównego.
Stosowanie:
def function_name(parameters):
# Code to execute when the function is called
return result # Optional, used to return a value
Parametry |
Opis |
|---|---|
|
Nazwa, którą nadajesz swojej funkcji. |
|
Opcjonalne. Zmienne, które akceptują wartości wejściowe po wywołaniu funkcji, umożliwiając przekazanie danych do funkcji. |
|
Opcjonalnie. Pozwala funkcji na wysłanie wyniku z powrotem do wywołującego. Jeśli funkcja nie zawiera instrukcji return, domyślnie zwróci |
Uwaga: Funkcja musi zawsze zostać zdefiniowana przed jej wywołaniem.
Definiowanie i wywoływanie funkcji#
Functions with No Parameters#
Jeśli funkcja nie wymaga danych wejściowych, można ją zdefiniować bez parametrów.
def greeting():
console.print("Hello!")
def main():
# Call the greeting function
greeting()
# Start threads — Do not delete
start_thread(main)
Functions with Parameters#
Do funkcji można również dodawać parametry, które umożliwiają przekazywanie informacji niezbędnych do działania funkcji.
# 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#
Argument domyślny to parametr, który przyjmuje wartość domyślną, jeśli w wywołaniu funkcji dla tego argumentu nie podano wartości.
# 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#
Funkcje mogą odsyłać dane do wywołującego za pomocą słowa kluczowego return Pozwala to na przechwycenie i wykorzystanie danych wyjściowych w programie.
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)
wątek początkowy#
start_thread uruchamia funkcję w nowym wątku, więc zaczyna ona działać od razu na początku projektu.
Jeżeli użyto więcej niż jednego start_thread , funkcje będą działać współbieżnie.
Usage:
start_thread(function)
Parametry |
Opis |
|---|---|
|
Nazwa wcześniej zdefiniowanej funkcji. |
# 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)