[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
'AI와 친해지기 > AI를 직접해볼까?' 카테고리의 다른 글
[Python 기초] AI 개발자를 위한 파일 입출력(File I/O) 활용하기 (1) | 2025.02.13 |
---|---|
[Python 기초] AI 개발자를 위한 클래스, 객체 지향 프로그래밍 (2) | 2025.02.12 |
[Python 기초] AI개발자를 위한 제어문: 조건문과 반복문 (1) | 2025.02.09 |
[Python 기초] AI개발자를 위한 핵심 자료형과 리스트 활용법 (0) | 2025.02.08 |
[Python 기초] AI 개발자를 위한 Python 설치 & 기본 문법 (1) | 2025.02.07 |