방송대/파이썬 프로그래밍 기초
9강. 함수
monimoni
2025. 4. 15. 20:28
1. 함수의 개념
- 특정 작업을 수행하는 명령문의 집합
- 특정 작업을 함수의 이름으로 대체
- 유사한 유형의 문제를 해결할 수 있도록 고려
- 사용자 정의 함수
- 내장 함수와 달리 사용자의 목적에 따라 정의된 함수
- 반환값에 따른 함수의 종류
- 반환값이 없는 함수 : print
- 반환값이 있는 함수 : input, format, int 등
2. 반환값이 없는 함수 정의
- 구문형식
def 함수이름(매개변수 리스트) :
[Tab] 명령 블록
- 함수 이름은 식별자
- 식별자 규칙을 그대로 적용 받음
- 매개변수 리스트는 0개 이상의 값을 함수 내부로 전달
- 함수 내부에서 매개변수 리스트는 변수와 동일하게 사용
3. 반환값이 있는 함수 정의
- 구문형식
def 함수이름(매개변수 리스트):
[Tab] 명령 블록
[Tab] return 반환값 리스트
- 실행 후 결과값을 남기는 함수
- return 명령어와 반환값을 연결
- 함수 내부에 여러 개의 return 사용 가능
- 첫번째 return이 나오는 순간, 그 뒤의 코드들은 실행되지 않는다.
- return 값이 복수일 경우 vol1, surf1 = 함수이름(매개변수1, 매개변수2)를 통해 각각의 변수에 return 값을 따로따로 저장할 수 있다.
4. format 함수 ( 실수 데이터 )
- 실수 데이터 형식화
- 형식 지정자
- 예시
- format(3.141592, ">10.2f")
- : 정렬방향
- 10 : 전체 필드 폭
- .2 : 소수점 이하 자리수
- f : 데이터 타입 ( f인 경우 소수를 의미 )
- format(3.141592, ">10.2f")
5. 동시 할당의 개념
- 복수개의 변수에 값을 동시에 할당
- 변수의 개수에 상응하는 값을 콤마( , )로 나열
- 예시
- temp = 27 season = "summer” → temp, season = 27, "summer”
6. 교환( swap )
- 복수 개의 변수에 할당하는 값을 맞바꿈
- 예시
- 초기 상태 rad = 30 hei = 20 → 교환 rad, hei = hei, rad
7. 값의 전달
- 함수가 호출될 때, 값이 형식 매개변수에 전달
- 매개변수가 전달되는 것이 아닌, 값이 전달되는 것
x = 1
print("x의 값은", x) # x의 값은 1
inc(x) # 오류 발생 : inc 함수는 밑에 정의되어있음
def inc(x):
x = x + 1
print("x의 값은", x) # x의 값은 2
inc(x) # 실행 성공 : 함수가 정의된 후에 함수를 사용해야 함
print("x의 값은", x) # x의 값은 1
8. 변수의 스코프
- 프로그램에서 변수가 참조될 수 있는 영역
- 전역변수 : 프로그램 전체 영역에서 접근
- 지역변수 : 선언된 함수 내부에서만 접근
9. 기본 매개변수
- 함수 호출 시 매개변수가 전달되지 않을 경우 기본값이 전달되는 매개변수
- 예시
- print("Hello", "I am Python") → print("Hello", "I am Python", sep = "")
- seq의 기본값으로 “”이 설정되어있기에 둘은 동일한 결과를 나타낸다.
- print("Hello", "I am Python") → print("Hello", "I am Python", sep = "")
10. 기본 매개변수의 정의
- 구문형식
def 함수이름(매개변수 리스트, 매개변수=값 리스트):
[Tab] 명령 블록
[Tab] return 반환값 리스트
- 일반 매개변수 앞에 위치할 수 없음
11. 가변 매개변수
- 함수 호출 시 매개변수를 사용자가 원하는 개수만큼 지정할 수 있는 매개변수
12. 가변 매개변수의 정의
- 구문형식
def 함수이름(매개변수 리스트, *가변 매개변수):
[Tab] 명령 블록
[Tab] return 반환값 리스트
- 일반 매개변수 앞에 위치할 수 없음
- 가변 매개변수는 1개만 사용 가능
- 가변 매개변수명 앞에는 *를 붙여야 한다.
728x90