[이것이 코딩 테스트다 with 파이썬] Part 04. 부록 - APPENDIX A 코딩 테스트를 위한 파이썬 문법(4)

박미진·2022년 7월 31일
0

코딩 테스트

목록 보기
4/9

04. 함수

1. 함수

  • 프로그래밍에 있어서 굉장히 중요
  • 프로그래밍을 하다 보면 똑같은 코드가 반복적으로 사용되어야 할 때가 많음
    => 함수를 사용하지 않으면 소스코드를 매번 일일이 작성해야 하므로 소스코드가 길어지며 이로 인해 프로그램의 크기가 비효율적으로 커짐
  • 코딩테스트에서 테스트케이스가 입력된 뒤에 테스트 케이스만큼 특정한 알고리즘을 수행한 결과를 반복적으로 출력하도록 요구하는 문제가 출제되는 경우가 많음
    => 문제를 푸는 코드를 함수화하면 매우 효과적으로 풀 수 있음
  • 동일한 알고리즘을 반복적으로 수행해야 할 때 함수는 중요하게 사용됨

(1) 함수의 구조

  • 함수의 구조
def 함수명(매개변수):
	실행할 소스코드
    return 반환 값
  • 함수를 작성할 때는 함수 내부에서 사용되는 변수의 값을 전달받기 위해 매개변수를 정의할 수 있음
  • 이후에 어떤 값을 반환하고자 할 때는 return을 이용
  • 이 때 함수에서 매개변수나 return문은 존재하지 않을 수도 있음

(2) 함수의 사용

  • 대표적인 함수의 예시 : 더하기 기능을 제공하는 함수
def add(a, b):
	return a + b
print(add(3, 7))

<출력>
10

<return문 없이 작성>
def add(a, b):
	print("함수의 결과: ", a + b)
    
add(3, 7)

<출력>
함수의 결과: 10
  • 함수를 호출하는 과정에서 다음과 같이 인자를 넘겨줄 때 파라미터의 변수를 직접 지정해서 값을 넣을 수 있음
    예) 함수 처리 과정에서 매개변수로 a, b가 사용될 때 함수를 호출하는 라인에서 인자 a와 b를 지칭해서 각각 값을 넣을 수 있음
    => 매개변수의 순서가 달라도 상관없다는 점이 특징
def add(a, b):
	print("함수의 결과: ", a + b)
    
add(b = 3, a = 7)

<출력>
함수의 결과: 10

(3) global 키워드

  • 함수 안에서 함수 밖의 변수 데이터를 변경해야 하는 경우
    함수에서 global키워드를 이용
  • 키워드로 변수를 지정하면 해당 함수에서는 지역 변수를 만들지 않고, 함수 바깥에서 선언된 변수를 바로 참조하게 됨
예) a라는 변수를 함수 안에서도 동일하게 접근하여 값을 변경
a = 0

def func():
	global a
    a += 1
    
for i in range(10):
	func()
    
print(a)

<출력>
10

(4) lambda 표현식

  • 람다 표현식 사용할 수 있음
    => 함수를 매우 간단하게 작성하여 적용할 수 있음
    => 특정한 기능을 수행하는 함수를 한 줄에 작성할 수 있다는 점이 특징
    예) 앞서 정의했던 add()함수와 같은 간단한 함수를 정의해야 할 때는 람다표현식을 효과적으로 사용할 수 있음
  • 람다식은 파이썬의 정렬 라이브러리를 사용할 때, 정렬 기준(key)을 설정할 때도 자주 사용됨
def add(a, b):
	return a + b

# 일반적인 add() 메서드 사용
print(add(3, 7))

# 람다 표현식으로 구현한 add() 메서드
print((lambda a, b : a + b)(3, 7))

<출력>
10
10

<reference(참조)>
나동빈(2020).<이것이 취업을 위한 코딩 테스트다 with 파이썬>.서울: 한빛미디어(주)

0개의 댓글