AI와 친해지기/AI를 직접해볼까?

[Python 기초] AI 개발자를 위한 함수 활용법

insight발자국 2025. 2. 11. 09:20

[Python 기초] AI 개발자를 위한 함수 활용법 – 함수의 개념부터 실전 활용까지

💡 "Python에서 함수는 코드를 효율적으로 관리하는 핵심 도구다!"
함수(Function)는 코드의 재사용성을 높이고, 프로그램의 구조를 개선하는 중요한 개념이에요. 
이번 포스팅에서는 Python 함수의 개념부터 활용법까지 차근차근 공부 해볼게요. 🚀


1️⃣ 함수란 무엇인가?

 반복되는 코드를 줄이고 유지보수를 쉽게 만드는 도구
 매개변수(인자)를 받아 특정 작업을 수행한 후 결과를 반환
 Python에서 함수는 def 키워드를 사용하여 정의


2️⃣ Python에서 함수 정의하기 (def 키워드 사용)

Python에서 함수를 만들려면 def 키워드를 사용합니다.

✅ 기본적인 함수 정의 및 호출

def greet():
    print("안녕하세요! 환영합니다.")

greet()  # 함수 호출

📌 [출력 결과]

안녕하세요! 환영합니다.

3️⃣ 함수 매개변수와 반환값

✅ 매개변수가 있는 함수

def greet_user(name):
    print(f"안녕하세요, {name}님!")

greet_user("철수")

📌 [출력 결과]

안녕하세요, 철수님!

✅ 여러 개의 매개변수 전달하기

def add_numbers(a, b):
    return a + b

result = add_numbers(3, 5)
print("결과:", result)

📌 [출력 결과]

결과: 8

4️⃣ 기본값을 갖는 매개변수 (Default Parameter)

✔ 기본값을 지정하면 함수를 호출할 때 인자를 생략할 수 있음

def introduce(name="사용자"):
    print(f"안녕하세요, {name}님!")

introduce()  # 기본값 사용
introduce("민수")  # 사용자 지정

📌 [출력 결과]

안녕하세요, 사용자님!
안녕하세요, 민수님!

5️⃣ 가변 인자 (*args, kwargs) – 여러 개의 값을 받기

 *args: 여러 개의 위치 인자를 받을 때 사용
 **kwargs: 키워드 인자를 여러 개 받을 때 사용

def sum_numbers(*args):
    return sum(args)

print(sum_numbers(1, 2, 3, 4, 5))  # 여러 개의 숫자 전달 가능

📌 [출력 결과]

 
15

def user_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

user_info(name="철수", age=25, job="개발자")

📌 [출력 결과]

name: 철수
age: 25
job: 개발자

6️⃣ 람다 함수 (Lambda Function) – 한 줄짜리 익명 함수

✔ 간단한 함수를 빠르게 만들 때 사용
 lambda 키워드를 이용하여 정의

add = lambda x, y: x + y
print(add(3, 7))

📌 [출력 결과]

10

✔ 리스트 정렬에도 활용 가능

students = [("철수", 90), ("영희", 85), ("민수", 92)]
students.sort(key=lambda student: student[1])  # 두 번째 요소(점수) 기준 정렬
print(students)

📌 [출력 결과]

[('영희', 85), ('철수', 90), ('민수', 92)]

7️⃣ 재귀 함수 (Recursive Function) – 자기 자신을 호출하는 함수

✔ 재귀 함수는 자기 자신을 반복적으로 호출하는 함수
✔ 대표적인 예: 팩토리얼 계산

def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)

print(factorial(5))

📌 [출력 결과]

 
120

8️⃣ 실전 예제 – 간단한 계산기 만들기

 사용자로부터 연산과 숫자를 입력받아 계산하는 함수 만들기

def calculator(a, b, operator):
    if operator == "+":
        return a + b
    elif operator == "-":
        return a - b
    elif operator == "*":
        return a * b
    elif operator == "/":
        return a / b
    else:
        return "잘못된 연산자입니다."

# 사용자 입력 받기
num1 = float(input("첫 번째 숫자: "))
num2 = float(input("두 번째 숫자: "))
op = input("연산자(+,-,*,/): ")

# 함수 호출
result = calculator(num1, num2, op)
print("결과:", result)

📌 [출력 예시]

첫 번째 숫자: 10
두 번째 숫자: 5
연산자(+,-,*,/): *
결과: 50.0

📌 [스크린샷] 계산기 실행 화면 예시

실행 화면 예시


🚀 다음 단계: Python의 클래스와 객체 지향 프로그래밍 (OOP)

다음 포스팅에서는 "Python 클래스와 객체 지향 프로그래밍(OOP) 완전 정복"
클래스, 객체, 상속, 캡슐화 등의 개념을 공부 해볼게요!

 클래스를 활용한 코드 구조화
 객체 지향 프로그래밍(OOP) 개념 완벽 이해
 클래스 상속 & 캡슐화의 실전 활용법


📌 요약

  • Python 함수 정의 및 활용 (def 키워드)
  • **매개변수와 반환값 (default parameters, *args, kwargs)
  • 람다 함수와 재귀 함수 활용법
  • 실전 예제: 계산기 함수 구현

📢 질문이 있거나, 실행 중 오류가 발생하면 댓글로 남겨 주세요! 🚀


🔗 📚 추가 참고 자료:
📍 Python 공식 문서 – 함수 활용
📍 Python 람다 함수 가이드 – Real Python