데이터 분석 파이썬 종합반 4주차
파이썬의 몸통 : 함수
함수의 필요성
- 코드 재사용: 반복되는 코드를 함수로 정의하여 여러 곳에서 재사용할 수 있습니다.
- 모듈화: 프로그램을 여러 개의 작은 모듈로 나누어 개발 및 관리할 수 있습니다.
- 유지 보수 용이성: 함수는 각각의 기능을 독립적으로 정의하므로, 수정이나 확장이 필요할 때 해당 함수만 수정하면 됩니다.
- 가독성 향상: 함수는 코드의 의도를 명확하게 표현할 수 있으며, 복잡한 작업을 함수로 분해하여 이해하기 쉽게 만듭니다.
함수정의
def 함수이름(매개변수1, 매개변수2, ...):
# 함수 내부에서 수행할 작업
return 결과값 # (선택적) 함수의 결과를 반환
함수 호출
결과 = 함수이름(인수1, 인수2, ...)
함수 심화
전역변수 (Global Variables)
- 전역변수는 프로그램 전체에서 접근 가능한 변수로, 어디서든지 사용할 수 있음
- 전역변수는 프로그램이 시작될 때 생성되고, 프로그램이 종료될 때까지 메모리에 유지됨
- 전역변수는 프로그램의 어디서든지 접근할 수 있으므로, 여러 함수에서 공통적으로 사용되는 값을 저장할 때 유용
- 하지만 너무 많은 전역변수를 사용하면 코드의 가독성이 떨어지고 디버깅이 어려워질 수 있음
지역변수 (Local Variables)
- 지역변수는 특정한 범위(예: 함수 내부)에서만 접근 가능한 변수로, 해당 범위를 벗어나면 사용할 수 없음
- 지역변수는 해당 범위에서 생성되고, 범위를 벗어나면 메모리에서 사라짐
- 함수 내에서 정의된 변수는 해당 함수 내에서만 사용 가능한 지역변수
- 지역변수는 함수 내에서만 사용되므로, 해당 함수에서만 유효하고 다른 함수나 코드 블록에서는 사용할 수 없음
- 지역변수는 함수가 실행될 때 생성되고, 함수가 종료되면 메모리에서 제거되므로 메모리 관리에 효율적
매개변수(Parameter)
- 함수를 정의할 때 함수가 받아들이는 값을 지정하는 변수
- 함수의 헤더 부분에서 매개변수가 정의되며, 함수 내부에서 사용
- 함수를 정의할 때 매개변수를 정의하고, 함수가 호출될 때 매개변수에 해당하는 값을 전달받음
인수(Argument)
- 함수를 호출할 때 함수에 전달되는 값
- 함수를 호출할 때 전달되는 실제 값이며, 함수를 호출할 때마다 다를 수 있음
- 함수 호출 시 매개변수에 전달되는 값으로, 해당 값은 함수 내부에서 매개변수로 사용
- 전달인자라는 표현으로 사용되기도 함
위치 인수 (Positional Arguments)
- 위치 인수(positional argument)와 키워드 인수(keyword argument)
- 위치 전달인수는 함수 정의에서 매개변수(parameter)의 위치에 따라 전달되는 인수
- 위치 전달인수는 인자의 값이 함수의 매개변수에 순서대로 매핑됨
- 함수 호출 시 위치 전달인수는 매개변수의 위치에 따라 전달됨
키워드 인수 (Keyword Arguments)
- 함수를 호출할 때, 인수를 순서대로 전달하는 대신에 특정 매개변수에 값을 할당하여 전달할 수 있음
기본값 (Default Values)
- 함수의 매개변수에 기본값을 설정할 수 있음
- 해당 매개변수에 인수가 전달되지 않았을 때 기본값으로 사용
- 키워드 인수와 기본값을 함께 사용하여 함수를 호출할 수 있음
가변인수(variable-length arguments)
- 여러 개의 인수들을 받을 수 있는 함수를 만들기 위해서 사용
- *args와 **kwargs를 사용
- *args는 함수를 호출할 때 임의의 개수의 위치 인수를 전달할 수 있도록 함
- **kwargs는 함수를 호출할 때 임의의 개수의 키워드 인수를 전달할 수 있도록 함
* sum_values는 임의의 개수의 위치 인수를 받아서 그 합계를 계산
데이터 전처리 함수 예시
통계 계산 함수 예시
import numpy as np
def calculate_mean(data):
# 평균을 계산하는 함수
return np.mean(data)
def calculate_std(data):
# 표준편차를 계산하는 함수
return np.std(data)
def calculate_correlation(x, y):
# 상관 관계를 계산하는 함수
return np.corrcoef(x, y)
Quiz
평균과 분산 계산기
- 주어진 데이터셋의 평균을 계산하는 함수를 작성하고 함수의 결과를 출력해 보세요!
# 데이터는 이것을 사용하세요
data = [2, 4, 6, 8, 10]
# 6.0
파이썬 예제
위키독스 - 초보자를 위한 파이썬 300제(https://wikidocs.net/book/922)
41~150
파이썬 개인 과제(https://essay2892.tistory.com/31)
'TIL(Today I Learned)' 카테고리의 다른 글
[2024/12/30]내일배움캠프 QA/QC 1기 - 10일차 (0) | 2024.12.30 |
---|---|
[2024/12/27]내일배움캠프 QA/QC 1기 - 9일차 (4) | 2024.12.27 |
[2024/12/24]내일배움캠프 QA/QC 1기 - 7일차 (0) | 2024.12.24 |
[2024/12/23]내일배움캠프 QA/QC 1기 - 6일차 (0) | 2024.12.23 |
[2024/12/20]내일배움캠프 QA/QC 1기 - 5일차 (2) | 2024.12.20 |