1. 재귀함수
- 재귀함수
- 자기 스스로를 호출하는 함수
- ex)
- def func(count):
- if count>0:
- print(count,'현재')
- func(count-1)
- print('결과',count)
- if count>0:
- func(10)
- => func (10) 이 돌아간다
- func(10) -> 10현재 -> func(9) -> 9현재 -> func(8) -> 8현재 -> func(7) -> 7현재 -> func(6) -> 6현재 -> func(5) -> 5현재 -> func(4) -> 4현재 -> func(3) -> 3현재 -> func(2) -> 2현재 -> func(1) -> 1현재 -> func(0) -> X(출력 없음) -> 결과1 -> func(1) close -> 결과2 -> func(2) close -> 결과3 -> func(3) close -> 결과4 -> func(4) close -> 결과5 -> func(5) close -> 결과6 -> func(6) close -> 결과7 -> func(7) close -> 결과8 -> func(8) close -> 결과9 -> func(9) close -> 결과10 -> func(10) close
- 주의!!!
- 재귀 호출의 단계가 깊어질수록 => 메모리를 추가적으로 사용 => 따라서 종료조건 분명히 해야함!
2. 중첩함수
- 중첩함수
- 함수 안에 정의된 함수
- def func1(a):
- def func2():
- nolocal a
- ~~
- return a
- return func2()
- def func2():
- func1(2)
- nolocal : global 과 비슷
- global : 전체 큰 코드에서 선언된 변수를 함수에서도 이어서 쓸 수 있음
- nolocal : 중첩함수일 때 -> 바로 위 함수에서의 변수를 이어서 쓸 수 있음
- 전체 코드에서 선언된 함수를 nolocal 로 사용하면 에러
- 주의!!
- 내부 함수에서 외부 함수의 매개변수와 같은 이름의 변수를 생성할 경우 변수가 꼬인다.
3. lambda 함수
- lambda 함수
- 이름이 없는 한 줄 짜리 함수.
- lambda 인수 나열 : 반환할 내용
- 인수가 없으면 생략 가능하다.
- ex)
- lambda x,y : x+y
- ex) 함수의 인수로 함수를 받을 때
- def run(func, x) :
- print(func(x))
- run(lambda x:x+1,1)
- def run(func, x) :
* 필수 삽입 링크 : http://bit.ly/3Y34pE0
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
<사진 2장>
'패스트캠퍼스_컴공전공필수+인공지능 > 0원 챌린지' 카테고리의 다른 글
2/26(일) 파이썬 - 클래스4 (0) | 2023.02.26 |
---|---|
2/25(토) 파이썬 - 클래스3 (0) | 2023.02.25 |
2/24(금) 파이썬 - 클래스2 (0) | 2023.02.24 |
2/23(목) 파이썬 - 클래스 (0) | 2023.02.23 |
2/22(수) 2. 함수 심화학습2 (0) | 2023.02.22 |