User defined functions
소개글
모든 프로그램 언어와 스크립트 언어들에서, 함수는 프로그램 문장 블럭으로
프로그램 안에서 반복적으로 사용될수 있는것입니다.
함수는 코드 블럭을 다시 재사용할수 있게 만들어서, 프로그래머들의 시간을 낭비하지 않게 해줍니다
파이썬에서 함수의 개념은 다른 언어들과 동일합니다.
파이썬에는 미리 정의가 되어 있는, built in 함수, 즉 내장되어 있는 함수가 존재하고. 혹은, 사용자가 필요에 의해 정의를 한 사용자 정의 함수가 존재할수 있습니다.
파이썬에서 함수 정의
def
로 시작하고, def 다음에 함수이름을 적어주면 선언됩니다- 함수는
def <함수명> () :
형태로, 괄호안에 input 으로 쓰여질 인자들을 정의할수 있고,:
으로 끝납니다 - 함수명에 인자를 정의해 주면, 다음줄부터 코드 문장을 쓸수 있고, 이 코드 문장들은 들여쓰기가 되어 있어야 합니다.
간단한 함수를 예로 들어보면, 아래와 같습니다.
1 | # 사용자 정의 함수 |
함수를 호출하는 방법
다른 프로그래밍 언어들과 비슷하게, 함수를 호출하는 방법은, 함수명을 쓰고 ()
안에 파라미터를 넣어주어 호출합니다. 위의 예시에서 average_number(4 ,6)
은 average_number 라는 함수를 호출하고, 파라미터로, 4, 6 을 넣어줍니다
함수 호출 예시
1 | # 함수 호출 예시 |
함수에서 return 문
파이썬에서 return 문은 함수로부터 값을 반환하기 위해 사용됩니다. 수식과 인자가 없이 실행된 함수에 return 문은 None 을 반환합니다.
예를들면,
1 | def nsquare(x, y): |
기본 인자 값
함수의 파라미터 리스트에서 우리는, 하나 혹은 그 이상의 인자들에 대해 기본값을 지정할수 있습니다.
기본값은, 인자1 = 값
의 형태로 작성될수 있습니다.
우리는 어떤 인자가 기본값을 가지게 될지에 대해서 선택하여 지정할수 있습니다.
예를들면,
1 | # y 는 2라는 값을 기본값으로 지정됩니다 |
키워드 인자
우리는 어떻게 기본 인자값들을 지정하는지 배웠습니다만.
함수는 키워드 인자들을 사용하여 호출될수도 있습니다.
키워드 인자란?
변수명 = 값
형태로 되어 있는 인자들을, 키워드 인자라고 부릅니다.
함수에 전달된 모든 키워드 인자들은, 함수가 받는 인자들중 하나와 꼭 매치가 되어야 합니다.
아래 예시에서, 함수가 호출될때마다, 함수로 전달되는 인자들중 꼭 한가지는 함수가 받는 인자들중 하나와 매치가 됩니다.
1 | # 키워드 인자 |
Arbitrary Argument Lists
arbitrary argument, 즉 임의의 인자 리스트는, 인자들을 함수에 전달하는 다른 방법중 하나 입니다.
함수의 body 안에서, 이 인자들은 튜플로 감싸져 있고. 이는 *args
생성자를 사용하여 정의 됩니다.
1 | # Arbitrary Argument List |
Lambda 함수
파이썬에서, 작은 익명의 함수들 (이름이 지어지지 않은) lambda 키워드를 생성하여 사용될수 있습니다.
lambda 형태의 함수들은, 다른 함수의 인자로써 사용될수도 있습니다
예를들면,
1 | # lambda forms |