02. 함수 기본 배우기
스파르타 코딩 클럽
1) 함수란?
함수의 개념
- 함수는 입력을 받아 원하는 처리를 한 후 출력을 내보내는 일련의 작업을 수행하는 코드 블록입니다.
- 프로그램 내에서 특정한 기능을 수행하기 위해 코드를 논리적으로 그룹화하여 재사용 가능한 형태로 정의합니다.
- 함수의 필요성
- 코드 재사용: 반복되는 코드를 함수로 정의하여 여러 곳에서 재사용할 수 있습니다.
- 모듈화: 프로그램을 여러 개의 작은 모듈로 나누어 개발 및 관리할 수 있습니다.
- 유지 보수 용이성: 함수는 각각의 기능을 독립적으로 정의하므로, 수정이나 확장이 필요할 때 해당 함수만 수정하면 됩니다.
- 가독성 향상: 함수는 코드의 의도를 명확하게 표현할 수 있으며, 복잡한 작업을 함수로 분해하여 이해하기 쉽게 만듭니다.
2) 간단한 계산의 함수 만들기
스파르타 코딩 클럽
평균 계산 함수
- 이 함수는 주어진 숫자 리스트의 평균을 계산하는 간단한 데이터 분석 계산을 수행합니다.
3) 다양한 함수 예시
스파르타 코딩클럽
아래에는 조건문, 반복문, 리스트, 튜플, 딕셔너리 등을 활용한 다양한 함수 예시를 제시하겠습니다.
- 숫자 리스트에서 최대값을 찾는 함수
2. 튜플의 모든 요소를 곱하는 함수
3. 주어진 문자열에서 각 문자의 출현 빈도를 딕셔너리로 반환하는 함수
- 1) 전역변수와 지역변수의 차이
- 전역변수 (Global Variables)
- 전역변수는 프로그램 전체에서 접근 가능한 변수로, 어디서든지 사용할 수 있습니다.
- 전역변수는 프로그램이 시작될 때 생성되고, 프로그램이 종료될 때까지 메모리에 유지됩니다.
- 전역변수는 프로그램의 어디서든지 접근할 수 있으므로, 여러 함수에서 공통적으로 사용되는 값을 저장할 때 유용합니다.
- 하지만 너무 많은 전역변수를 사용하면 코드의 가독성이 떨어지고 디버깅이 어려워질 수 있습니다.
사진 설명을 입력하세요.
- 지역변수 (Local Variables)
- 지역변수는 특정한 범위(예: 함수 내부)에서만 접근 가능한 변수로, 해당 범위를 벗어나면 사용할 수 없습니다.
- 지역변수는 해당 범위에서 생성되고, 범위를 벗어나면 메모리에서 사라집니다.
- 함수 내에서 정의된 변수는 해당 함수 내에서만 사용 가능한 지역변수입니다.
- 지역변수는 함수 내에서만 사용되므로, 해당 함수에서만 유효하고 다른 함수나 코드 블록에서는 사용할 수 없습니다.
- 지역변수는 함수가 실행될 때 생성되고, 함수가 종료되면 메모리에서 제거되므로 메모리 관리에 효율적입니다.
2) 인수(argument)와 매개변수(parameter)의 차이
스파르타 코딩클럽
함수를 정의할 때 매개변수(parameter)와 함수를 호출할 때 전달되는 값(argument)은 혼동하기 쉬운 개념입니다.
- 매개변수(Parameter)
- 함수를 정의할 때 함수가 받아들이는 값을 지정하는 변수입니다.
- 함수의 헤더 부분에서 매개변수가 정의되며, 함수 내부에서 사용됩니다.
- 함수를 정의할 때 매개변수를 정의하고, 함수가 호출될 때 매개변수에 해당하는 값을 전달받습니다.
- 인수(Argument)
- 함수를 호출할 때 함수에 전달되는 값입니다.
- 함수를 호출할 때 전달되는 실제 값이며, 함수를 호출할 때마다 다를 수 있습니다.
- 함수 호출 시 매개변수에 전달되는 값으로, 해당 값은 함수 내부에서 매개변수로 사용됩니다.
사진 설명을 입력하세요.
3) 위치 인수 (Positional Arguments)란?
- 함수 호출 시 전달되는 인자(argument)는 두 가지 유형이 있습니다.
- 위치 인수(positional argument)와 키워드 인수(keyword argument)입니다.
- 위치 전달인수는 함수 정의에서 매개변수(parameter)의 위치에 따라 전달되는 인수입니다.
- 위치 전달인수는 인자의 값이 함수의 매개변수에 순서대로 매핑됩니다.
- 함수 호출 시 위치 전달인수는 매개변수의 위치에 따라 전달됩니다.