Skip to Content
Python: Master the Art of Design Patterns
book

Python: Master the Art of Design Patterns

by Dusty Phillips, Chetan Giridhar, Sakis Kasampalis
September 2016
Intermediate to advanced
775 pages
18h 22m
English
Packt Publishing
Content preview from Python: Master the Art of Design Patterns

Implementation

Python decorators are generic and very powerful. You can find many examples of how they can be used at the decorator library of python.org [j.mp/pydeclib]. In this section, we will see how we can implement a memoization decorator [j.mp/memoi]. All recursive functions can benefit from memoization, so let's pick the popular Fibonacci sequence example. Implementing the recursive algorithm of Fibonacci is straight forward, but it has major performance issues, even for small values. First, let's see the naive implementation (file fibonacci_naive.py).

def fibonacci(n): assert(n >= 0), 'n must be >= 0' return n if n in (0, 1) else fibonacci(n-1) + fibonacci(n-2) if __name__ == '__main__': from timeit import Timer t = Timer('fibonacci(8)', ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Python for Programmers

Python for Programmers

Paul Deitel, Harvey Deitel
Head First Design Patterns, 2nd Edition

Head First Design Patterns, 2nd Edition

Eric Freeman, Elisabeth Robson
Fluent Python

Fluent Python

Luciano Ramalho

Publisher Resources

ISBN: 9781787125186Purchase Link