본문 바로가기
IT 와 Social 이야기/Python

[데이터 사이언스 스쿨] 2.6 파이썬 함수

by manga0713 2021. 3. 12.

함수(function)는 입력을 받아 그 입력에 해당하는 출력을 반환(return)하는 기계와 같다. 예를 들어 500원을 넣으면 생수가 나오고, 1000원을 넣으면 콜라가 나오는 자판기는 다음과 같은 함수이다.

 

f(500) = "생수"

f(1000) = "콜라"

 

파이썬에는 def 키워드와 return 키워드를 사용하여 다음과 같이 함수를 만들 수 있다.

 

 

- 숫자 x를 입력하면 두 배 (*2)가 되도록 하는 함수는 다음과 같다.

 

 

함수의 입력은 한 개가 아니라 여러 개가 되어도 상관없다. 입력 변수가 여러개이면 쉼표, (comma) 를 사용하여 함수를 정의한다. 입력 변수는 원하는 만큼 얼마든지 만들 수 있다.

 

 

 

함수에 이름을 주지 않거나 코드를 짧게 줄여쓰는 방법으로 람다(lambda)함수라는 것이 있다.

 

def f(x):

    return 2 * x

와 같은 함수를 람다(lambda)함수로 정의하면 다음과 같다.

 

람다 함수는 함수 자체를 다른 함수의 인수로 넣을 때, 함수의 출력값을 함수로 받을 때 유용하게 사용된다.

 

 

함수에 넣은 입력 변수나 함수 안에서 만들어진 변수는 함수 바깥에서는 사용할 수 없다. 혹시 이름이 같은 변수가 있다고 하더라도 별개의 변수가 된다. 따라서 함수 안에서 만들어지고 사용되는 함수를 지역 변수 (local variable) 이라고 한다.

 

 

지역 변수와 반대로 함수 바깥에서 만들어진 변수는 함수 안에서 사용할 수 있다. 이러한 변수를 전역 변수(global variable)이라고 한다.

 

이때 바깥의 변수와 같은 이름의 변수를 함수 안에 만들면 안 된다.

만약 함수안에서 함수 바깥에 있는 변수의 값을 꼭 바꿔야만 한다면 다음과 같이 함수 이름 앞에 global 키워드를 선언해 주면 된다.

 

 

- 출처: [데이터 사이언스 스쿨] 2.6 파이썬 함수