that will discuss matthew rocklin' multipledispatch as the best current implementation of the concept it implements most third-party libraries around functional programming are collections of higher-order functionsand sometimes enhancements to the tools for working lazily with iterators contained in itertools some notable examples include the followingbut this list should not be taken as exhaustivepyrsistent contains number of immutable collections all methods on data structure that would normally mutate it instead return new copy of the structure containing the requested updates the original structure is left untouched toolz provides set of utility functions for iteratorsfunctionsand dictionaries these functions interoperate well and form the building blocks of common data analytic operations they extend the standard libraries itertools and functools and borrow heavily from the standard libraries of contemporary functional languages hypothesis is library for creating unit tests for finding edge cases in your code you wouldn' have thought to look for it works by generating random data matching your specification and checking that your guarantee still holds in that case this is often called property-based testingand was popularized by the haskell library quickcheck more_itertools tries to collect useful compositions of iterators that neither itertools nor the recipes included in its docs address these compositions are deceptively tricky to get right and this well-crafted library helps users avoid pitfalls of rolling them themselves resources there are large number of other papersarticlesand books written about functional programmingin python and otherwise the python standard documentation itself contains an excellent introduction called "functional programming howto,by andrew kuchlingthat discusses some of the motivation for functional programming stylesas well as particular capabilities in python preface vii