human
I am working on the file "Python 복습/08일차.금_정규표현식, class, 크롤링, 숙제/8일차_1T,3T_정규 표현식_이메일, 핸드폰 번호, Class_.ipynb".
The first task is:
3T_객체 지향 프로그래밍 - 클래스 메쏘드와 인스턴스 메쏘드

Class - 클래스는 매우 중요합니다.
Class => object ( 객체가 생성되는 클래스 ) 에 대해서만 배웠다.

예제: 피보나치 수열
Can you write Python code for it?
assistant
#Here is the Python code you requested.

class Fibonacci():
    
    cache = {1: 0, 2: 1}
    # n=1 => 0
    # n=2 => 1
    # f(n) = f(n-1) + f(n-2)
    
#     def __init__(self):
#         self.cache = {}
# 기존의 이런 형태가 아니라 다른 형태로 받기 위해서

    # 클래스 => 클래스 메쏘드
    # 객체 ( 인스턴스 ) => 인스턴스 메쏘드

    @staticmethod  # 클래스 메쏘드 
    def calc(n):  # self 가 없습니다. self.cache가 아니라 Fibonacci.cache로 바뀜
        
        if n in Fibonacci.cache:   
            return Fibonacci.cache[n]
        
        if n <= 0:
            return 0
        
#         if n == 1:
#             Fibonacci.cache[n] = 0
#             return Fibonacci.cache[n]
        
#         if n == 2:
#             Fibonacci.cache[n] = 1
#             return Fibonacci.cache[n]
        
        Fibonacci.cache[n] = Fibonacci.calc(n-1) + Fibonacci.calc(n-2)
        return Fibonacci.cache[n]

Fibonacci.calc(20)

Fibonacci.cache