[개발] 파이썬

2.1. 함수 기초

브랜든정 2024. 12. 27. 10:15
반응형

파이썬은 함수를 통해 코드를 재사용하고, 모듈화하여 개발을 효율적으로 진행할 수 있는 강력한 프로그래밍 언어입니다. 함수는 특정 작업을 수행하는 코드 블록으로, 함수 정의와 호출, 매개변수와 반환값, 기본값 매개변수와 가변 매개변수에 대한 이해는 파이썬 프로그래밍의 기초입니다. 이 글에서는 이러한 개념을 자세히 설명하고, 실습 예제를 통해 이해를 돕겠습니다.

1. 함수 정의

함수는 def 키워드를 사용하여 정의합니다. 함수 이름은 알파벳, 숫자, 언더스코어(_), 그리고 특수 문자로 구성될 수 있습니다. 예를 들어, def add(a, b):와 같은 형식으로 함수를 정의할 수 있습니다.

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

1.1 함수의 매개변수

함수에 전달되는 값은 매개변수라고 합니다. 매개변수는 함수 정의 시 지정되며, 함수 호출 시 실제 값을 전달합니다. 예를 들어, add 함수는 두 개의 매개변수 ab를 받습니다.

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 함수를 호출하여 35를 더하면 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