함수#
소개#
함수는 파이썬 프로그래밍의 핵심 요소로, 특정 작업을 수행하도록 설계된 재사용 가능하고 효율적인 코드 조각들을 묶어줍니다. 함수는 프로그램 내에서 여러 번 호출될 수 있으므로 코드 구성이 용이하고 코드 중복을 방지하는 데 도움이 됩니다. 또한 함수를 사용하면 디버깅이 훨씬 쉬워집니다.
중요: 함수만 정의한다고 해서 바로 실행되는 것은 아닙니다. 이벤트나 콜백을 기다리지 않고 프로젝트 시작 시 바로 실행되도록 하려면 vr_thread를 사용하여 새 스레드에서 함수를 시작하세요.
def함수를 정의합니다.return반환하면 함수의 출력값이 메인 프로그램으로 다시 전송됩니다.
용법:
def function_name(parameters):
# Code to execute when the function is called
return result # Optional, used to return a value
매개변수 |
설명 |
|---|---|
|
함수에 붙이는 이름입니다. |
|
선택 사항입니다. 함수 호출 시 입력값을 받는 변수로, 함수에 데이터를 전달할 수 있습니다. |
|
선택 사항입니다. 함수가 호출자에게 결과를 반환할 수 있도록 합니다. 함수에 return 문이 포함되지 않으면 기본적으로 |
참고: 함수는 호출되기 전에 반드시 정의되어 있어야 합니다.
함수 정의 및 호출#
Functions with No Parameters#
함수에 입력이 필요하지 않은 경우 매개변수 없이 정의할 수 있습니다.
# Define a function to display a message
def greeting():
brain.print("Hello!")
def main():
# Call the function to display the message
greeting()
# VR threads — Do not delete
vr_thread(main)
Functions with Parameters#
함수에 매개변수를 추가하여 함수 작동에 필요한 정보를 전달할 수도 있습니다.
# Define a function with a parameter
def named_greeting(name):
brain.print("Hello, " + name + "!")
def main():
named_greeting("Stranger")
# VR threads — Do not delete
vr_thread(main)
Functions with Default Arguments#
기본 인수란 함수 호출 시 해당 인수에 대한 값이 제공되지 않으면 기본값을 사용하는 매개변수입니다.
# Define a function with a parameter and a default argument
def named_greeting(name = "Stranger"):
brain.print("Hello, " + name + "!")
def main():
# Use the default argument
named_greeting()
brain.new_line()
# Change the parameter to a different name
named_greeting("VR")
# VR threads — Do not delete
vr_thread(main)
Return Values from Functions#
함수는 return 키워드를 사용하여 호출자에게 데이터를 반환할 수 있습니다. 이를 통해 프로그램에서 출력을 캡처하고 사용할 수 있습니다.
# Define a function that multiplies numbers by 2
def times_two(number):
return number * 2
def main():
# Display the return value
brain.print(times_two(2))
# VR threads — Do not delete
vr_thread(main)
vr_thread#
VR 스레드 함수는 스크립트의 전역 수준에서 함수를 호출하는 데 사용해야 합니다.
이전에 작성한 함수를 가져와서 전역 수준에서 vr_thread() 에 전달할 수 있습니다. 프로그램을 실행하려면 이 내부에서 최소한 하나의 함수를 호출해야 합니다. 모든 함수 호출을 vr_thread()를 사용하여 수행할 필요는 없으며, 전역 수준에서 수행하는 호출만 해당됩니다.
vr_thread() 호출이 두 번 이상 발생하면 함수는 병렬로 실행됩니다.
일반적으로 함수는 호출된 순서대로 실행됩니다. 하지만 함수가 대기하는 경우, 실행을 다음 함수로 넘기고, 앞 함수가 완료되거나 앞 함수도 대기할 때 실행을 계속합니다.
Usage:
vr_thread(function)
매개변수 |
설명 |
|---|---|
|
이전에 정의된 함수의 이름입니다. |
# Define the function "main".
def main():
drivetrain.drive_for(FORWARD, 400, MM)
# Call VR thread for any previously defined functions.
vr_thread(main)