Learning
레슨 3 / 9·15분

함수와 모듈

함수 정의하기

Python에서 함수는 def 키워드로 정의합니다. 기본값 매개변수, 가변 인자(*args), 키워드 인자(**kwargs)를 지원합니다.

python
# 기본 함수
def greet(name, greeting="안녕하세요"):
    return f"{greeting}, {name}님!"

print(greet("영희"))              # 안녕하세요, 영희님!
print(greet("철수", "반갑습니다"))  # 반갑습니다, 철수님!

# 가변 인자
def total(*numbers):
    return sum(numbers)

print(total(1, 2, 3, 4))  # 10

# 람다 함수
square = lambda x: x ** 2
print(square(5))  # 25

# 정렬에 활용
students = [("김", 85), ("이", 92), ("박", 78)]
students.sort(key=lambda s: s[1], reverse=True)
print(students)  # [('이', 92), ('김', 85), ('박', 78)]

모듈과 import

Python은 풍부한 표준 라이브러리를 제공합니다. import로 모듈을 불러와 사용할 수 있으며, 직접 모듈을 만들 수도 있습니다.

python
# 표준 라이브러리 활용
import math
print(math.sqrt(16))  # 4.0
print(math.pi)        # 3.141592653589793

from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M"))

import random
print(random.randint(1, 100))  # 1~100 사이 랜덤 정수

# json 모듈
import json
data = {"name": "Python", "version": 3.12}
json_str = json.dumps(data, ensure_ascii=False)
print(json_str)  # {"name": "Python", "version": 3.12}
  • import math — 모듈 전체를 가져옴
  • from os import path — 특정 요소만 가져옴
  • import numpy as np — 별칭(alias)을 붙여 가져옴
  • if __name__ == "__main__": — 직접 실행 시에만 동작하는 코드 블록
💡

Python 파일 하나가 곧 모듈입니다. utils.py를 만들면 다른 파일에서 import utils로 사용할 수 있습니다.