함수
함수의 이해
Section titled “함수의 이해”함수의 개념
Section titled “함수의 개념”- 특정 작업을 수행하는 명령문의 집합
특정 작업을 함수의 이름으로 대체
유사한 유형의 문제를 해결할 수 있도록 설계 추상화 - 정의 주체에 따른 분류
내장함수: 파이썬 내부에 이미 만들어져 있는 함수
사용자 정의 함수: 사용자의 목적에 따라 정의된 함수 - 반환값 유무에 따른 분류
반환값이 없는 함수: 내부 동작 수행 후 종료 print
반환값이 있는 함수: 내부 동작 수행 후 결과를 반환 input max int 등
반환값이 없는 함수 정의
Section titled “반환값이 없는 함수 정의”def 함수이름(매개변수 리스트): 명령 블록- 함수 이름은 식별자
- 매개변수 parameter 리스트는 0개 이상의 값을 함수 내부로 전달
- 함수 내부에서 매개변수 리스트에 포함된 각 매개변수는 변수와 동일하게 사용
반환값이 있는 함수 정의
Section titled “반환값이 있는 함수 정의”def 함수이름(매개변수 리스트): 명령 블록 return 반환값 리스트- 실행 후 결과값을 남기는 함수
- return 키워드와 반환값을 나열 함수를 호출한 곳으로 결과값을 전달
- 함수 내부에 여러 개의 return 사용 가능 return 시 함수 즉시 종료
동시 할당의 개념
Section titled “동시 할당의 개념”복수개의 변수에 값을 동시에 할당 / 변수의 개수에 상응하는 값을 콤마로 나열
temp = 27season = "summer"
temp, season = 27, "summer"교환 swap
Section titled “교환 swap”복수의 변수에 할당된 값을 맞바꾸는 연산
temp = hei
rad = hei
hei = temp
rad, hei = hei, rad
함수의 확장
Section titled “함수의 확장”함수가 호출될 때, 값이 형식 매개변수에 전달
x = 1print("x의 값은", x)inc(x)
def inc(x): x = x + 1 print("x의 값은", x)
print("x의 값은", x)변수의 스코프 scope
Section titled “변수의 스코프 scope”프로그램에서 변수가 참조될 수 있는 영역
- 전역변수 함수 외부에서 선언 프로그램 전체 영역에서 접근
- 지역변수 선언된 함수 내부에서만 접근
x = 1
def inc1(): y = x + 1 print("y의 값은", y)
inc1()print("x의 값은", x)print("y의 값은", y)y의 스코프는 함수 내부 35번 줄 / x의 스코프는 프로그램 전체 19번 줄
변수의 스코프 scope
Section titled “변수의 스코프 scope”프로그램에서 변수가 참조될 수 있는 영역
- 전역변수 함수 외부에서 선언 프로그램 전체 영역에서 접근
- 지역변수 선언된 함수 내부에서만 접근
x = 1
def inc1(): y = x + 1 print("y의 값은", y)
inc1()print("x의 값은", x)print("y의 값은", y)기본 매개변수의 정의
Section titled “기본 매개변수의 정의”구문형식
def 함수이름(매개변수 리스트, 매개변수=값 리스트): 명령 블록 return 반환값 리스트일반 매개변수 앞에 위치할 수 없음
def hello(name, msg="반갑습니다"): print(name, msg)가변 매개변수
Section titled “가변 매개변수”함수 호출 시 매개변수를 사용자가 원하는 개수만큼 지정할 수 있는 매개변수
x = 10y = 20z = 30print("x는", x, "y는", y, "z는", z)구문형식
def 함수이름(매개변수 리스트, *가변 매개변수): 명령 블록 return 반환값 리스트- 일반 매개변수 앞에 위치할 수 없음
- 가변 매개변수는 1개만 사용 가능