While solving programming related problems and tasks, choosing the right programming paradigm is as important, as choosing the programming language. In our thesis we deal with the issue of functional programming. We analyze the logic and intent behind the paradigm, its main principles, benefits, and shortcomings. We compare it to the procedural paradigm on several examples and applications using the multi-paradigm language Python. At the same time, we show how to effectively use the functional programming paradigm in Python, using several built-in functions and standard library modules. We recommend various community made modules to address the main shortcomings of the language when using a functional paradigm. We continuously evaluate the advantages and disadvantages of using a functional programming style in comparison to a procedural style. Near the end we point out interesting features and applied functional programming principles in a real application done in this style.