재귀 함수의 문제가 있지만, 필요한 경우 재귀 함수를 활용해 코드를 간결하고 읽기 쉬워짐 어떻게 사용해야 코드가 빠르게 실행되도록 만들 수 있을까? 메모화 메모 : 딕셔너리를 사용해 한 번 계산한 값을 저장함 딕셔너리에 값이 메모되어 있으면 처리를 수행하지 않고 곧바로 메모된 값을 돌려주면서 코드의 속도를 빠르게 만듦 메모화를 사용하면 실행 후 곧바로 결과를 출력할 정도로 속도가 빨라짐. 메모화 # 메모 변수 만들기 dictionary = { 1: 1, 2: 1 } # 함수 선언하기 def fibonacci(n): if n in dictionary: #메모가 되어 있으면 메모된 값을 리턴 return dictionary[n] else: #메모가 되어 있지 않으면 값을 구함 output = fibonacc..

함수를 만드는 기본적 방법을 알고 있어도, 실제로 함수들이 어떻게 사용되는지 많이 접하지 않으면 함수를 제대로 활용할 수 없음. 함수가 어떤 식으로 활용되는지 살펴봐야 함. 재귀 함수 * 재귀 recursion : 자기 자신을 호출하는 것 * 재귀 함수 : 함수를 정의하는 내부 안에 자기 자신(즉 만들고 있는 함수)을 호출하는 것 * 팩토리얼 factorial n! = n * (n - 1) * (n - 2) * ... * 1 * 팩토리얼을 구하는 방법 1) 반복문으로 팩토리얼 구하기 def factorial(n): output = 1 for i in range(1, n + 1): output *= i return output print(factorial(5)) 120 2) 재귀 함수로 팩토리얼 구하기 팩..
리턴 input() 함수를 실행하고 나면 함수의 결과를 받아서 사용함. 이와 같은 함수의 결과를 리턴값(return value) 이라고 부름. 1) 자료 없이 리턴하기 함수를 실행했던 위치로 돌아가라는 뜻. 함수가 끝나는 위치를 의미함 def return_test(): print("A 위치입니다.") return print("B 위치입니다.") return_test() A 위치입니다. 2) 자료와 함께 리턴하기 리턴 뒤에 자료를 입력하면 자료를 가지고 리턴함. return 뒤에 100이라는 숫자를 입력하면, 100이 출력됨 def return_test(): return 100 value = return_test() print(value) 100 3) 아무것도 리턴하지 않기 'None'은 파이썬에서 '없다..
가변 매개변수 print() 함수와 같이 매개변수를 원하는 만큼 받을 수 있는 함수를 가변 매개변수라고 부름. 매개변수가 변할 수 있다는 의미 def 함수 이름(매개변수, 매개변수, ..., *가변 매개변수): 문장 def 함수이름(매개변수1, 매개변수2, *가변매개변수): print(매개변수1) print(매개변수2) print(가변매개변수) 함수이름(0, 1, 2, 3, 4, 5, 6, 7, 8) 0 1 (2, 3, 4, 5, 6, 7, 8) 0은 매개변수1에 들어감 1은 매개변수2에 들어감 2 ~ 8까지 가변매개변수에 들어감 가변 매개변수의 제약 * 가변 매개변수 뒤에는 일반 매개변수가 올 수 없음 * 가변 매개변수는 하나만 사용할 수 있음 가변 매개변수 함수 def print_n_times(n, ..
[들어가기 전 용어정리] 함수 호출 : 함수를 사용하는 것, function call 매개변수 : 함수 호출할 때, 괄호 내부에 넣는 여러가지 자료 리턴값 : 함수를 호출해 최종적으로 나오는 결과 [함수의 기본] 함수는 한마디로 '코드의 집합' 함수의 기본 형태 def 함수이름(): 문장 기본적인 함수 예제 def print_3_times(): print("안녕하세요") print("안녕하세요") print("안녕하세요") print_3_times() 안녕하세요 안녕하세요 안녕하세요 [함수에 매개변수 만들기] print() 함수를 작성할 때, print(value, sep, end, file ...)과 같은 글자를 볼 수 있는데 괄호 안에 많은 것들이 있음. 이런것들을 모두 매개변수라고 부르는 것. 매개..
while 반복문 # 기본 형태 while 불 표현식: 문장 if 조건문과 비슷한 형식 이 참인 동안 문장을 계속 반복함 while 반복문 : for 반복문처럼 사용하기 # 반복 변수를 기반으로 반복하기 i = 0 while i < 5: print("{}번째 반복입니다.".format(i)) i += 1 0번째 반복입니다. 1번째 반복입니다. 2번째 반복입니다. 3번째 반복입니다. 4번째 반복입니다. while 반복문과 for 반복문은 언제 사용하는가? for 반복문 사용은 앞서 나온 상황 이외에는 모두 while 반복문을 사용함 (대표적으로 '무한 반복') for 반복문으로는 무한 반복을 구현 X while 반복문의 가장 중요한 키워드 : '조건' 조건을 활용해 반복을 사용해야 한다면 while 반복문..
리스트에 적용할 수 있는 기본 함수: min(), max(), sum() 리스트 뒤집기: reversed() 현재 인덱스가 몇 번째인지 확인하기: enumerate() 딕셔너리로 쉽게 반복문 작성하기: items() 리스트 안에 for문 사용하기: 리스트 내포 1. 리스트에 적용할 수 있는 기본 함수: min(), max(), sum() min() 리스트 내부에서 최솟값을 찾음 max() 리스트 내부에서 최댓값을 찾음 sum() 리스트 내부에서 값을 모두 더함 예제 numbers = [103, 52, 273, 32, 77] print(min(numbers)) # 최솟값 print(max(numbers)) # 최댓값 print(sum(numbers)) # 값 모두 더함 32 273 537 min() 함수와..
반복문 컴퓨터에 반복을 지시하는 방법 for 반복문 기본 형태 for 반복자 in 반복할 수 있는 것: 코드 for 반복문과 리스트 for 변수 in 리스트: 코드 for 반복문은 리스트에 있는 요소 하나하나가 element라는 변수에 들어가며, 차례차례 반복하게 됨 print() 함수로 element를 출력하므로 리스트의 요소를 차례차례 출력하게 되는 것 # 리스트 선언 list_a = [273, 32, 103, 57, 52] # 리스트에 반복문 적용 for element in list_a: # 출력하기 print(element) 273 32 103 57 52 for 반복문과 딕셔너리 for 키 변수 in 딕셔너리: 코드 for 반복문과 딕셔너리를 조합해서 사용하면 다음과 같은 형태 딕셔너리 내부에 있..
- Total
- Today
- Yesterday
- 기본 API 클래스
- 문자열함수
- Objects 클래스
- java.time.package
- Pattern 클래스
- Arrays 클래스
- python
- Date 클래스
- Random 클래스
- StringBuffer 클래스
- not_in
- 리스트연산자
- 순환할당
- Calendar 클래스
- 파이썬
- 딕셔너리
- Format 클래스
- 프로그램
- Math 클래스
- StringTokenizer 클래스
- 스레드 스케줄링
- IndexError
- FALSE
- 포장 클래스
- 역반복문
- 리스트
- StringBuilder 클래스
- 자료형
- 요소선택
- 함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |