2.1. 첫 번째 스크립트

Python 스크립트.py 확장자를 가진 텍스트 파일에 저장된 일련의 명령어입니다. OpenMV Cam은 초록색 Run 버튼을 누르면 IDE에서 현재 열려 있는 스크립트를 실행하고, 모든 출력을 창 하단의 IDE 시리얼 터미널에 표시합니다.

가장 단순한 스크립트는 한 줄짜리입니다:

print("Hello, OpenMV!")

Run을 누르면 이 스크립트가 카메라로 전송되어 실행되고, 메시지가 IDE로 다시 출력됩니다.

2.1.1. print가 하는 일

print()는 내장 함수입니다 – 펌웨어 안에 들어 있어 별다른 설정 없이 항상 사용할 수 있는 코드 조각이죠. 괄호 안에 하나 이상의 값을 넘기면 그 값들의 텍스트 표현을 IDE에 출력합니다.

print()에는 텍스트뿐 아니라 무엇이든 넘길 수 있습니다:

print(42)
print(3.14)
print("temperature", 25)

여러 인자는 출력에서 공백으로 구분됩니다:

>>> temperature 25

2.1.2. 주석

#주석을 시작합니다 – 해당 줄의 나머지 부분은 Python이 무시합니다. 주석은 코드가 그렇게 동작하는지 설명하는 데 사용하세요. 코드 자체가 이미 무엇을 하는지는 보여 주니까요.

# Send a startup banner over the serial terminal.
print("camera ready")

print("running")  # Marker for the operator monitoring the IDE.

Python에는 여러 줄 주석을 위한 별도의 문법이 없습니다. 여러 줄을 각각 주석 처리하거나, IDE에서 여러 줄을 선택한 뒤 Ctrl+/를 눌러 주석을 켜고 끌 수 있습니다.

2.1.3. 들여쓰기가 중요하다

Python은 들여쓰기 – 줄 시작 부분의 공백 – 를 사용해 관련된 줄들을 하나로 묶습니다. 함수, if 문, 또는 루프 내부에서 그 블록에 속하는 모든 줄은 같은 양만큼 들여쓰기됩니다(공백 네 칸이 관례입니다). 탭과 공백을 섞거나 블록 내부에서 들여쓰기 폭을 바꾸면 문법 오류입니다.

위의 print 호출 같은 최상위 문장은 들여쓰기가 0입니다. 들여쓰기된 블록은 분기와 루프를 작성하기 시작하면 나타납니다.

IDE는 :로 끝나는 줄을 완성하는 즉시 자동으로 들여쓰기를 해 줍니다. 알 수 없는 IndentationError가 발생하면 문제가 되는 블록을 선택한 뒤 Tab / Shift+Tab을 눌러 다시 정렬하세요.

2.1.4. 스크립트 다시 실행하기

Run을 누를 때마다 카메라는 하던 일을 멈추고 현재 스크립트를 불러와 처음부터 시작합니다. 별도의 컴파일 단계는 없습니다. 줄을 바꾸고 Run을 다시 누르면 새로운 출력이 터미널에 나타납니다.

카메라가 켜질 때마다 스크립트가 자동으로 실행되게 하려면, 카메라의 파일 시스템에 main.py로 저장하세요.