"코드를 나누면 더 똑똑한 로봇이 된다"
- def로 함수 정의하기
- return으로 결과 돌려주기
- import로 다른 코드 불러오기
- math, random 같은 표준 모듈 사용해보기
1. 함수란 무엇인가?
함수는 자주 쓰는 작업을 한 번에 묶는 이름표입니다.
로봇 주행, 거리 계산, 속도 출력… 자주 반복되면 함수로 만들자!
def greet():
print("안녕하세요, 로봇입니다!")
greet()
출력:
안녕하세요, 로봇입니다!
2. 입력값(인자)과 출력값(리턴값)
def set_speed(motor_name, speed):
print(motor_name, "모터 속도 설정:", speed, "cm/s")
set_speed("좌측", 50)
set_speed("우측", 55)
return으로 결과를 돌려줄 수도 있습니다.
def distance_to_time(distance, speed):
time = distance / speed
return time
result = distance_to_time(100, 20)
print("목표까지 도달 시간:", result, "초")
3. 모듈: 코드 재사용의 시작
모듈은 다른 파일에 저장된 함수/변수/코드 집합입니다.
우리가 만든 함수도 모듈로 만들 수 있습니다.
예를 들어, utils.py 라는 파일에 이런 코드가 있다면:
# utils.py
def greet():
print("안녕! 나는 유틸 모듈이야.")
def calc_speed(distance, time):
return distance / time
→ 메인 파일에서 불러올 수 있습니다:
# main.py
import utils
utils.greet()
print("속도:", utils.calc_speed(100, 10), "cm/s")
4. 표준 모듈 활용하기
Python은 이미 유용한 모듈들을 내장하고 있습니다.
math 모듈: 수학 계산
import math
print("루트2:", math.sqrt(2))
print("파이 값:", math.pi)
random 모듈: 난수 생성
import random
speed = random.randint(40, 60)
print("랜덤 속도:", speed)
=
실전 응용 예: 속도 설정 함수로 모터 제어
def set_motor_speed(name, speed):
print(name, "모터를", speed, "cm/s로 설정합니다.")
# 실제 로봇에서는 PWM으로 제어하는 코드가 들어갑니다
left = random.randint(45, 55)
right = random.randint(45, 55)
set_motor_speed("좌측", left)
set_motor_speed("우측", right)
정리
개념설명예시
| def | 함수 정의 | def move(): |
| return | 결과 반환 | return distance / speed |
| import | 모듈 불러오기 | import math |
| 표준 모듈 | 이미 만들어진 기능 모음 | random, math, time 등 |
'Python' 카테고리의 다른 글
| Python 기초 #5: 예외 처리와 디버깅 (0) | 2025.05.08 |
|---|---|
| Python 기초 #4: 파일 입출력 & 데이터 처리 (0) | 2025.05.07 |
| Python 기초 #2: 조건문과 반복문 (0) | 2025.05.04 |
| Python 기초 #1: Hello World부터 시작하기 (0) | 2025.05.03 |
| Python 기초부터 자율주행까지 (0) | 2025.05.03 |