본문 바로가기
Python

Python 기초 #3: 함수와 모듈

by My Course 2025. 5. 4.

"코드를 나누면 더 똑똑한 로봇이 된다"

  • 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