안녕하세요. 오늘은 파이썬 함수에 대하여 정리해 보았습니다.
함수의 이해
먼저 함수의 정의를 해보자면 어떤 입력이 있을 때 함 안에서 계산이 일어나고 출력값을 반환해 주는 것
즉, 입력값 x가 있을때 이를 계산하여 출력값 y로 반환한다라고 정의를 할 수 있습니다.
그럼 왜 프로그래밍에서 함수가 필요할까요 ?
그 이유는 모듈화를 통한 프로그래밍 효율성을 높이기 위해서입니다.
예를 들어 설명해 드리겠습니다.
print("================== stage 1 =====================")
print("===========stage 1을 시작하겠습니다.==============")
print("=========당신의 캐릭터는 3목숨이 남았습니다.========")
stage 100까지 있는 게임이 있다고 가정해 보면
stage를 클리어 할 때마다 이와 같은 코드를 반복적으로 써야 한다.
이와 같이 어떤 기능을 반복적으로 자주 사용해야 할 때 함수는 아주 유용합니다.
위의 3줄의 코드를 매번 쓰는게 아니고 함수로 정의해 둔
stage(1,3)
위와 같이 쓰면 단순 반복 노동을 줄일 수 있습니다.
지금부터 함수의 기본 문법 및 예제를 통하여 설명드리겠습니다.
기본 문법 및 예제
위의 코드를 보면 위에서 본 게임 stage 시작을 알리는 코드를 함수로 정의하였다.
이를 통하여 게임 stage 2에서는 반복되는 프린트문을 적는 대신에 stage(2,3) 이렇게 stage 단계와 남은 목숨을 알려주는 변수만 stage함수 안에 넣어서 전달해 주면 자동으로 stage 안내문이 출력된다.
이와 같이 함수를 이용하여 반복되는 코드를 쉽게 작성할 수 있다.
전달값과 반환값
함수에는 전달값과 반환값이 있다. 물론 위의 stage 예제처럼 전달값과 반환값이 필수인 것은 아니다.
위의 예제에서는 전달값을 받아(balance, money) 계산을 하여 결과를 반환하는 간단한 은행 프로그램을 작성해 보았다.
변수를 넣어 코드를 실행해 보면
위와 같이 간단하게 모듈화 된 함수를 호출하게 되면 코드를 매번 재작성할 필요 없이 원하는 결과를 얻을 수 있다.
참고) 전달값의 다양한 활용
1) 기본값(매개변수가 매번 같을 때 사용)
이와 같이 매개변수를 기본값으로 지정해 놓으면 국적을 매번 넣지 않아도 된다.
만약에 중국에서 이 함수를 재사용한다고 하면 country값을 중국으로 변경만 하면 돼서 코드 재활용에도 유리함
2) 가변인자
'IT > 파이썬 기초' 카테고리의 다른 글
[파이썬 기초] 파일 입출력 (0) | 2023.07.05 |
---|---|
[파이썬 기초] 표준 입출력 , 관련 함수(seq, end, ljust, rjust, zfill 등) (0) | 2023.07.04 |
파이썬기초 while, continue, break 문 정리 및 예제 (0) | 2023.06.28 |
[파이썬 기초] 반복문 - for 기본 문법 및 range, enumerate 함수 (0) | 2023.06.21 |
파이썬 조건문 if 기초 및 사용법 정리 (0) | 2023.06.21 |