Sunday, 23 February 2025

Python Coding challenge - Day 387| What is the output of the following Python Code?

 


Step-by-Step Execution:

1. Import lru_cache from functools
lru_cache (Least Recently Used Cache) is a built-in Python decorator that caches function calls to optimize performance.
It stores previously computed values, avoiding redundant calculations.

2. Define the Fibonacci Function with Caching
@lru_cache(maxsize=2)
def fib(n): 
    return n if n <= 1 else fib(n-1) + fib(n-2)
@lru_cache(maxsize=2): Caches the two most recently used function calls.
Base case: fib(0) = 0, fib(1) = 1
Recursive case: fib(n) = fib(n-1) + fib(n-2)

3. Compute fib(10)
print(fib(10))
The function computes fib(10) using recursion and caches recent calls.
Since maxsize=2, only the last two computed results remain cached.

4. Print Cache Information
print(fib.cache_info())

This outputs:
CacheInfo(hits=X, misses=Y, maxsize=2, currsize=2)
hits: How many times a cached value was used.
misses: How many times a new value was computed.
maxsize: Maximum cache size (2 in this case).
currsize: Current number of cached values (2).

Final Output:

Cache only keeps last 2 calls

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (96) AI (39) Android (24) AngularJS (1) Api (2) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (197) C (77) C# (12) C++ (83) Course (67) Coursera (249) Cybersecurity (25) Data Analysis (2) Data Analytics (2) data management (11) Data Science (148) Data Strucures (8) Deep Learning (21) Django (16) Downloads (3) edx (2) Engineering (14) Euron (29) Events (6) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Generative AI (11) Google (36) Hadoop (3) HTML Quiz (1) HTML&CSS (47) IBM (30) IoT (1) IS (25) Java (93) Java quiz (1) Leet Code (4) Machine Learning (85) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (4) Pandas (4) PHP (20) Projects (29) pyth (1) Python (1035) Python Coding Challenge (454) Python Quiz (114) Python Tips (5) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (4) Software (17) SQL (42) UX Research (1) web application (8) Web development (4) web scraping (2)

Followers

Python Coding for Kids ( Free Demo for Everyone)