본문 바로가기

computer/python

함수, function

함수에 대해 알아보자.

 

함수를 왜 사용할까?

가장 큰 이유는 재사용성이다.

 

프로그래머가 모든 기능을 직접 구현했을 때 1,000,000줄이 필요한 프로그램이 있다고 가정하자.

여기서 어떤 기능을 100번 사용한다고 하고 그 기능이 1000 줄이 필요하다면 100번의 중복을 한번으로 나타낼 수 있다. 

1,000 x 100 = 100,000줄의 코드을 1,000번 비슷하게 줄일 수 있다.

코드 전체의 양도 900,000라인로 감소한다.

 

함수의 완성도를 높이는 것은 중요하다.

한번 작성하면 계속 사용하기 때문에 보안에 문제가 없어야 하고 필요한 경우에는 처리속도도 빨라야 한다.

 

파이썬에서 함수를 사용해보자.

 

def function():
    pass

 

파이썬에서는 함수를 def 키워드와 이름과 인자들을 정의한 뒤에 :를 붙인다.

return 키워드와 값을 이용해 함수의 결과를 반환하고 함수의 정의를 마무리한다.

 

함수를 정의하는 것은 붕어빵 틀과 같다. 

반죽과 팥이라는 입력이 들어왔을 때 붕어빵으로 완성시켜 반환하는 것처럼

함수는 기능을 불러오기위한 일종의 틀이다.

 

x = 0

def add_one(x):
    x = x + 1
    
print(x)

 

위 코드의 출력 값은 무엇일까?

0과 1 사이에서 헷갈릴 것이다.

 

위 코드에는 두 가지 체크포인트가 있다. 

 

함수는 틀일 뿐이고 함수를 호출하지는 않았기 때문에 위 코드에서 x를 print한 결과는 0이다.

 

첫번째 체크포인트로 함수내에서 변수로 주어진 값들의 연산 결과는 전역변수를 미리 선언하지 않은 이상

함수를 정의한 영역 안에서만 계산된다. 

 

두번째 체크포인트로 위 함수는 함수안에 return 하지 않았기 때문에 아무리 함수를 불러도 값이 더해지지 않는다.

 

 

Reference

https://wikidocs.net/24#_14