All Indian reprints of O'Reilly are printed in grayscale. Python is not a functional programming language, but it is a multi-paradigm language that makes functional programming easy to perform, and easy to mix with other programming styles. In this paper David mertz, a director of Python software foundation, examines the functional aspects of the language and points out which options work well and which ones you should generally decline.Br> mertz describes ways to avoid Python's imperative-style flow control, the nuances of callable functions, how to work lazily with iterators, and the use of higher-order functions. He also lists several third-party Python libraries useful for functional programming.Br> Topics include/B> br> li> using encapsulation and other means to describe 'what" A data collection consists of, rather than "how" To construct data collection./li> li> creating callables with named functions, lambdas, closures, methods of classes, and multiple dispatch./li> li> using Python's Iterator protocol to accomplish the same effect as a lazy data structure./li> li> creating higher-order functions that take functions as arguments and/or produce a function as a result/li>.