파이썬은 함수를 통해 코드를 재사용하고, 모듈화하여 개발을 효율적으로 진행할 수 있는 강력한 프로그래밍 언어입니다. 함수는 특정 작업을 수행하는 코드 블록으로, 함수 정의와 호출, 매개변수와 반환값, 기본값 매개변수와 가변 매개변수에 대한 이해는 파이썬 프로그래밍의 기초입니다. 이 글에서는 이러한 개념을 자세히 설명하고, 실습 예제를 통해 이해를 돕겠습니다.
1. 함수 정의
함수는 def
키워드를 사용하여 정의합니다. 함수 이름은 알파벳, 숫자, 언더스코어(_), 그리고 특수 문자로 구성될 수 있습니다. 예를 들어, def add(a, b):
와 같은 형식으로 함수를 정의할 수 있습니다.
def add(a, b):
return a + b
1.1 함수의 매개변수
함수에 전달되는 값은 매개변수라고 합니다. 매개변수는 함수 정의 시 지정되며, 함수 호출 시 실제 값을 전달합니다. 예를 들어, add
함수는 두 개의 매개변수 a
와 b
를 받습니다.
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 출력: 8
1.2 함수의 반환값
함수는 return
키워드를 사용하여 값을 반환할 수 있습니다. 반환값은 함수 호출 시 결과로 사용됩니다. 예를 들어, add
함수는 a + b
를 반환합니다.
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 출력: 8
2. 함수 호출
함수를 호출하는 방법은 간단합니다. 함수 이름을 호출하고, 매개변수를 전달하면 됩니다. 예를 들어, add
함수를 호출하여 3
과 5
를 더하면 8
이 반환됩니다.
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 출력: 8
2.1 기본값 매개변수
함수 정의 시 매개변수에 기본값을 지정할 수 있습니다. 기본값 매개변수는 함수 호출 시 해당 매개변수를 생략할 수 있습니다. 예를 들어, add
함수에 기본값을 지정하여 b
매개변수를 생략할 수 있습니다.
def add(a, b=0):
return a + b
result1 = add(3) # b는 기본값 0이므로 생략
print(result1) # 출력: 3
result2 = add(3, 5)
print(result2) # 출력: 8
2.2 가변 매개변수
함수 정의 시 가변 매개변수를 지정할 수 있습니다. 가변 매개변수는 함수 호출 시 여러 값을 전달할 수 있습니다. 예를 들어, *args
를 사용하여 가변 매개변수를 지정할 수 있습니다.
def sum_all(*args):
return sum(args)
result1 = sum_all(1, 2, 3)
print(result1) # 출력: 6
result2 = sum_all(1, 2, 3, 4, 5)
print(result2) # 출력: 15
3. 함수의 활용
함수는 코드를 재사용하고, 모듈화하여 개발을 효율적으로 진행할 수 있습니다. 예를 들어, 데이터 분석이나 크롤링, 머신 러닝과 같은 다양한 분야에서 함수를 활용할 수 있습니다.
3.1 데이터 분석
데이터 분석에서 함수를 활용하여 데이터를 처리하고, 결과를 반환할 수 있습니다. 예를 들어, 데이터를 읽고, 처리하고, 결과를 출력하는 함수를 정의할 수 있습니다.
import pandas as pd
def read_data(file_path):
return pd.read_csv(file_path)
def process_data(data):
return data.dropna()
def print_result(data):
print(data.head())
# 데이터 읽기
data = read_data('data.csv')
# 데이터 처리
data = process_data(data)
# 결과 출력
print_result(data)
3.2 크롤링
크롤링에서 함수를 활용하여 웹 페이지를 크롤링하고, 데이터를 추출할 수 있습니다. 예를 들어, URL을 전달받아 HTML을 파싱하고, 데이터를 추출하는 함수를 정의할 수 있습니다.
import requests
from bs4 import BeautifulSoup
def crawl_url(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
return soup
def extract_data(soup):
return soup.find_all('h1')
# URL 전달
url = 'https://example.com'
# HTML 파싱
soup = crawl_url(url)
# 데이터 추출
data = extract_data(soup)
for item in data:
print(item.text)
3.3 머신 러닝
머신 러닝에서 함수를 활용하여 모델을 정의하고, 학습시키고, 예측할 수 있습니다. 예를 들어, 데이터를 전달받아 모델을 학습시키고, 예측 결과를 반환하는 함수를 정의할 수 있습니다.
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
def train_model(data):
X, y = data.drop('target', axis=1), data['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LinearRegression()
model.fit(X_train, y_train)
return model
def predict(model, data):
return model.predict(data)
# 데이터 전달
data = pd.read_csv('data.csv')
# 모델 학습
model = train_model(data)
# 예측 결과
result = predict(model, data)
print(result)
파이썬 함수 기초는 함수 정의와 호출, 매개변수와 반환값, 기본값 매개변수와 가변 매개변수에 대한 이해가 중요합니다. 이러한 개념을 통해 코드를 재사용하고, 모듈화하여 개발을 효율적으로 진행할 수 있습니다. 데이터 분석, 크롤링, 머신 러닝과 같은 다양한 분야에서 함수를 활용할 수 있으며, 실습 예제를 통해 이러한 개념을 자세히 설명했습니다.
'[개발] 파이썬' 카테고리의 다른 글
2.3. 파이썬 모듈과 패키지 (0) | 2024.12.27 |
---|---|
2.2. 함수 심화 (0) | 2024.12.27 |
1.4. 데이터 구조 (0) | 2024.12.27 |
1.3. 조건문과 반복문 (0) | 2024.12.27 |
1.2. 파이썬 기본 문법 (2) | 2024.12.27 |