of the name lisplists are often used with recursion on sublists as substitute for loops "purefunctional languages eschew side effects this excludes the almost ubiquitous pattern in imperative languages of assigning first onethen another value to the same variable to track the program state functional programming either discourages or outright disallows statementsand instead works with the evaluation of expressions (in other wordsfunctions plus argumentsin the pure caseone program is one expression (plus supporting definitionsfunctional programming worries about what is to be computed rather than how it is to be computed much functional programming utilizes "higher orderfunctions (in other wordsfunctions that operate on functions that operate on functionsadvocates of functional programming argue that all these characteristics make for more rapidly developedshorterand less bug-prone code moreoverhigh theorists of computer sciencelogicand math find it lot easier to prove formal properties of functional languages and programs than of imperative languages and programs one crucial concept in functional programming is that of "pure function"--one that always returns the same result given the same arguments--which is more closely akin to the meaning of "functionin mathematics than that in imperative programming python is most definitely not "pure functional programming language"side effects are widespread in most python programs that isvariables are frequently reboundmutable data collections often change contentsand / is freely interleaved with computation it is also not even "functional programming languagemore generally howeverpython is multiparadigm language that makes functional programming easy to do when desiredand easy to mix with other programming styles beyond the standard library while they will not be discussed withing the limited space of this reporta large number of useful third-party python libraries for vi preface