Je suis à la fois un fervent programmeur de la POO et un programmeur fonctionnel et ces styles fonctionnent très bien ensemble, principalement parce qu'ils sont complètement orthogonaux. Il existe de nombreux langages fonctionnels orientés objet, et Python en fait partie.
Ainsi, la décomposition d'une application en classes est très utile lors de la conception d'un système. Lorsque vous effectuez la mise en œuvre réelle, la FP aide à écrire un code correct.
Je trouve également très offensant que vous laissiez entendre que la programmation fonctionnelle signifie simplement "utiliser des plis partout". C'est probablement la plus grande et la pire des idées fausses sur la PF. Beaucoup de choses ont été écrites sur ce sujet, donc je dirai simplement que la grande chose à propos de la PF est l'idée de combiner des fonctions simples (,correctes et réutilisables) dans de nouvelles fonctions de plus en plus complexes. De cette façon, il est assez difficile d'écrire un code "presque correct" - soit l'ensemble fait exactement ce que vous voulez, soit il se casse complètement.
La PF en Python tourne principalement autour de l'écriture de générateurs et de leurs parents (compréhensions de listes) et des choses dans la section itertools
module. Les appels explicites à map/filter/reduce sont tout simplement inutiles.