La programmation orientée objet a de nombreux avantages, mais le premier est l'encapsulation.
Cela veut dire que l'objet est en quelque sorte autonome, il contient tout ce dont il a besoin pour fonctionner en lui-même.
Tout est

De plus, au niveau du sens, l'orienté objet est en général plus clair :
Code python
fermer(maPorte)
maPorte.fermer()

Comment savoir si la fonction fermer ferme des portes ou des pots de confiture ?
Si vous vous trompez, il y a des chances pour que la fonction essaie de faire quelque chose de normal sur un pot de confiture (raclerLesBords par exemple), mais mauvais pour une porte.
Avec la méthode intégrée à l'objet, pas d'ambiguïté.
Le code que vous écrivez est aussi