티스토리 뷰

다음 이미지에서 물음표 위치에는 어떤 값이 나오게 될까요?

①  5

②  10

③  15

④  20

⑤  25

맞습니다. 정답은 ⑤ 번, 25 입니다. 

 

여러분은 아마 이미지를 보자마자 직관적으로 5 라는 숫자가 들어가고 □ + 20 라는 연산을 수행하므로 5 + 20 을 한 25 가 그 결과로 나올 것이라고 생각하셨을 겁니다. 학교에서 수학 시간에 함수를 배울 때 이런 유사한 형태의 이미지를 봤을 텐데요. 입력값에 따라 출력값이 달라지는 어떤 동작을 수행하는 게 바로 함수입니다.

 

함수에는 전달값, 동작, 반환값이라는 3 가지 요소가 있는데요. 예제에서 전달값(=입력값)은 5, 동작은 □ + 20, 그리고 ? 에 해당하는 반환값(=출력값)은 25 입니다. 입력값이 10 으로 바뀐다면 출력값은 10 + 20 을 해서 30 이 되겠죠?

 

이번에 배울 내용인 함수도 이와 동일합니다. 사실 함수는 앞에서 이미 많이 다뤄봤습니다. print(), len(), append(), pop() 이런 것들이 모두 함수이며, def 라는 글자와 함께 함수 이름, 그리고 괄호() 로 구성이 됩니다. 그리고 함수의 동작을 정의하는 부분도 필요하므로 뒤에 콜론(:) 을 적어주시구요.

def 함수이름():
    실행 명령문1
    실행 명령문2
    ....

 

함수는 우리가 은행에서 할 수 있는 업무를 예제로 들어보겠습니다. 나도은행이라는 곳과 처음으로 거래를 하려면 우선 계좌를 만들어야겠죠? 다음과 같이 함수를 하나 정의해봅니다.

def open_account():
    print("새로운 계좌가 생성되었습니다.")

무척 간단하죠? 이렇게 작성하고 코드를 실행해보면 어떻게 될까요?

 

네, 아무것도 출력이 되지 않습니다. 이 코드는 함수의 동작을 정의하기만 할 뿐, 실제로 함수를 사용하는 부분이 없어서 그런 것인데요. 바로 밑에 함수를 사용하는 명령문을 추가해보겠습니다. 함수를 사용할 때는 함수 이름과 괄호() 를 함께 적어주시면 되며, 이 때 우리는 "함수를 호출한다" 라고 표현합니다.

def open_account():
    print("새로운 계좌가 생성되었습니다.")

open_account() # 앞에서 정의된 open_account() 함수 호출

다시 실행해보면 이번에는 함수 내에서 정의된 문구가 출력되는 것을 확인할 수 있습니다.

 

잠깐!
함수의 이름은 그 함수의 동작을 대표하는 것으로 짓는 게 좋습니다. 이름만 보고도 어떤 동작을 하는지 유추할 수 있도록 말이죠. 예제에서는 계좌를 생성하는 동작이기 때문에 open account 라고 적었습니다. 그리고 함수의 이름은 정해진 규칙에 따라 만들어야 하는데, 문자로 시작하며 각 단어들(open, account) 을 밑줄(_) 로 구분하는 형태라면 대부분 사용 가능합니다. 보통 변수는 명사, 함수는 동사를 이용합니다.

(예)
변수 : account_number → 계좌 번호 (명사)
함수 : open_account() 계좌를 개설하다 (동사)
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함