728x90
이것이 취업을 위한 코딩테스트다 with 파이썬
함수
함수란?
코딩테스트에서 테스트 케이스가 입력된 뒤에
테스트 케이스만큼 특정한 알고리즘을 수행한 결과를 반복적으로 출력하도록 요구하는 문제가 출제되는 경우가 많다.
이처럼 동일한 알고리즘을 반복적으로 수행해야 할 때 함수는 중요하게 사용된다.
def 함수명(매개변수):
실행할 소스코드
return 반환 값
예시
def add(a, b):
return a + b
print(add(3, 7))
return 문 없는 함수
함수 안에서 결과까지 출력하도록 하는 경우 return 문 없이 함수를 작성한다.
def add(a, b):
print('함수의 결과:', a + b)
add(3, 7)
인자를 넘겨줄 때 값 지정하기
함수를 호출하는 과정에서 인자(Argument)를 넘겨줄 때, 파라미터의 변수를 직접 지정해서 값을 넣을 수 있다.
예를 들어 함수 처리 과정에서 함수를 호출하는 라인에서 인자 a와 b를 지칭해서 각각 값을 넣을 수 있다.
이 경우 매개변수의 순서가 달라도 상관 없다.
def add(a, b):
print('함수의 결과:', a + b)
add(b = 3, a = 7)
global 키워드 : 함수 밖의 변수 데이터를 변경할 때
함수 안에서 함수 밖의 변수 데이터를 변경해야 하는 경우, global
키워드를 이용한다.
global 키워드로 변수를 지정하면, 해당 함수에서는 지역 변수를 만들지 않고, 함수 바깥에 선언된 변수를 바로 참조하게 된다.
a = 0
def func():
global a
a += 1
for i in range(10):
func()
print(a) # 출력 10
람다 표현식
람다 표현식(Lambda Express)을 이용하면 함수를 매우 간단하게 작성하여 적용할 수 있다.
특정한 기능을 수행하는 함수를 한 줄에 작성할 수 있다는 점이 특징이다.
예를 들어 앞서 정의했던 add() 함수와 같은 간단한 함수를 정의해야 할 때는 다음처럼 사용할 수 있다.
def add(a, b):
return a + b
# 일반적인 add() 메서드 이용
print(add(3, 7))
# 람다 표현식으로 구현한 add() 메서드
print((lambda a, b: a + b)(3, 7))
람다식은 파이썬의 정렬 라이브러리를 사용할 때, 정렬 기준(Key)를 설정할 때도 자주 사용된다.
728x90