본문 바로가기

반응형

function

[Python] 5. 함수 (2) - 함수 심화 기능(재귀, 매개변수, 람다) [목차] 1. 재귀 호출 2. 다양한 형태의 매개변수 3. 람다 표현식 1. 재귀 호출 재귀 호출(recursive call)이란, 함수 안에서 함수 자신을 호출하는 방식을 말한다. 주로 알고리즘을 구현할 때 많이 이용된다. def func(): print(1) func() func() 위의 코드는 1이 무한히 출력되는 방식이다. 파이썬에서는 재귀의 깊이(recursion depth)가 최대 1000으로 정해져 있어서, 1000번을 초과해서 재귀 호출되면 에러가 발생한다. ("RecursionError: maximum recursion depth exceeded while calling a Python object") 함수를 A라고 하고 함수 내에서 호출하는 자신을 A'이라고 하면, A에서 A'를 호출하..
[Python] 5. 함수 (1) - 함수의 구조 [목차] 1. 함수(Function)란? 2. 함수(Function)의 형태 1. 함수(Function)란? 코드를 작성하다보면 들어가는 값만 달라질 뿐 같은 작업을 여러번 반복해야할 때가 있다. 그런 코드를 반복해서 작성하면 매우 비효율적이다. 이런 경우에 임의의 값에 대해서 동일하게 작동하는 틀을 미리 만들어놓고, 필요할 때마다 값을 넣어서 결과값을 구할 수 있도록 하는 기능을 '함수'라고 한다. 어떠한 타입의 값이 들어오더라도 항상 동일하게 입/출력을 수행해주는 작업을 하는 print, input 등도 모두 파이썬에서 미리 만들어진 함수이다. 1. 함수의 장점 코드의 용도를 구분할 수 있다. 코드를 여러번 재사용할 수 있다. 코드의 길이가 짧아진다. 오류 발생 위치를 빠르게 찾을 수 있다. 2. 함..