En Python, tout est un objet. Les nombres, les chaînes de caractères, les DataFrames, même les fonctions sont des objets. En particulier, tout ce que vous manipulez en Python possède une classe, un plan associé en coulisses.
Une approche orientée objet est particulièrement utile lorsque votre code implique des interactions complexes entre de nombreux objets. En production, les classes peuvent compter des dizaines d’attributs et de méthodes avec une logique sophistiquée, mais la structure de base reste la même que pour la classe la plus simple.
Les classes servent de plan pour les objets : elles décrivent les comportements et états possibles que chaque objet d’un certain type peut avoir. Par exemple, si vous dites : « chaque client aura un numéro de téléphone et un e-mail, et pourra passer et annuler des commandes », vous venez de définir une classe ! Ainsi, vous pouvez parler des clients de façon unifiée. Un objet Customer spécifique n’est alors que la concrétisation de cette classe avec un état particulier.
Identifier les classes Python
En Python, tout est un objet. Les nombres, les chaînes de caractères, les DataFrames, même les fonctions sont des objets. Plus précisément, tout ce que vous manipulez en Python a une classe, un plan associé en arrière-plan. L’existence de ces interfaces unifiées explique pourquoi vous pouvez utiliser, par exemple, n’importe quel DataFrame de la même manière.
Vous pouvez appeler type() sur n’importe quel objet Python pour connaître sa classe. Par exemple, la classe d’un tableau numpy s’appelle en réalité ndarray (pour « n-dimensional array »).
import numpy as np
a = np.array([1,2,3,4])print(type(a))Propulsé par
Les classes encapsulent des informations d’état et de comportement. En Python, l’état est porté par les attributs et le comportement par les méthodes.
Attributs et méthodes
Prenez un tableau numpy : vous avez déjà utilisé certaines de ses méthodes et attributs !
Par exemple, chaque tableau numpy possède un attribut « shape » auquel vous pouvez accéder en précisant le nom du tableau suivi d’un point puis de shape.
État <--> attributs
import numpy as np
a = np.array([1,2,3,4])Propulsé par
Initiez-vous aux structures de données de Python : apprenez-en plus sur les types de données et les structures de données primitives et non primitives, telles que les chaînes de caractères, les listes, les piles, etc.
Découvrez les fonctions et méthodes des listes Python. Veuillez suivre les exemples de code pour list() et d'autres fonctions et méthodes Python dès maintenant.
Découvrez les classes abstraites Python, leur utilité et comment utiliser le module `abc` pour garantir la cohérence des interfaces. Comprend des exemples pratiques et des bonnes pratiques pour une mise en œuvre efficace.
Tutoriel complet d'introduction aux boucles Python. Apprenez et pratiquez les boucles while et for, les boucles imbriquées, les mots-clés break et continue, la fonction range et bien plus encore.
Une approche orientée objet est particulièrement utile lorsque votre code implique des interactions complexes entre de nombreux objets. En production, les classes peuvent compter des dizaines d’attributs et de méthodes avec une logique sophistiquée, mais la structure de base reste la même que pour la classe la plus simple.
Les classes servent de plan pour les objets : elles décrivent les comportements et états possibles que chaque objet d’un certain type peut avoir. Par exemple, si vous dites : « chaque client aura un numéro de téléphone et un e-mail, et pourra passer et annuler des commandes », vous venez de définir une classe ! Ainsi, vous pouvez parler des clients de façon unifiée. Un objet Customer spécifique n’est alors que la concrétisation de cette classe avec un état particulier.
Identifier les classes Python
En Python, tout est un objet. Les nombres, les chaînes de caractères, les DataFrames, même les fonctions sont des objets. Plus précisément, tout ce que vous manipulez en Python a une classe, un plan associé en arrière-plan. L’existence de ces interfaces unifiées explique pourquoi vous pouvez utiliser, par exemple, n’importe quel DataFrame de la même manière.
Vous pouvez appeler
type()sur n’importe quel objet Python pour connaître sa classe. Par exemple, la classe d’un tableaunumpys’appelle en réaliténdarray(pour « n-dimensional array »).Les classes encapsulent des informations d’état et de comportement. En Python, l’état est porté par les attributs et le comportement par les méthodes.
Attributs et méthodes
Prenez un tableau
numpy: vous avez déjà utilisé certaines de ses méthodes et attributs !Par exemple, chaque tableau
numpypossède un attribut « shape » auquel vous pouvez accéder en précisant le nom du tableau suivi d’un point puis deshape.État <--> attributs
Il dispose aussi de méthodes comme
maxetreshape, accessibles elles aussi via le point.Comportement <--> méthodes
Créer votre première classe
Dans cet exemple, vous allez créer une classe vide
Employee. Puis vous créerez un objetempde la classeEmployeeen appelantEmployee().Essayez d’afficher l’attribut
.namede l’objetempdans la console. Que se passe-t-il ?Essayez par vous-même.
Pour en savoir plus sur la programmation orientée objet en Python, regardez cette vidéo issue de notre cours Object-Oriented Programming in Python.
Ce contenu est tiré du cours Object-Oriented Programming in Python de DataCamp, par Aliaksandra Yarosh.
Découvrez le tutoriel sur la programmation orientée objet (POO) en Python de DataCamp.