Lorsqu’on crée une liste, un dictionnaire, une chaine de caractères, etc. on crée avant tout un nouvel objet à partir des classes list
, dict
, str
, etc.
La plupart de ces classes définissent des méthodes qui permettent de réaliser des opérations courantes sur chaque type de donnée. Dans cette leçon, nous allons passer en revue quelques unes des méthodes qui pourront certainement vous être utiles par la suite et qu’il faut connaitre pour les types de données str
, list
, et dict
.
Pour obtenir la liste complète d’un méthode qu’on peut utiliser avec un type de données, il suffit d’appeler la fonction dir()
en lui passant un objet en argument.
Note : Les méthodes commençant et finissant par __
(un double underscore) sont appelées des “méthodes magiques”. Ces méthodes fournissent des fonctionnalités syntaxiques spéciales ou font des choses spéciales. Généralement, on ne va pas les appeler directement.
Les méthodes des chaines de caractères
Les chaines de caractères Python disposent des méthodes magiques suivantes : __add__()
, __class__()
, __contains__()
, __delattr__()
, __dir__()
, __doc__()
, __eq__()
, __format__()
, __ge__()
, __getattribute__()
, __getitem__()
, __getnewargs__()
, __gt__()
, __hash__()
, __init__()
, __init_subclass__()
, __iter__()
, __le__()
, __len__()
, __lt__()
, __mod__()
, __mul__()
, __ne__()
, __new__()
, __reduce__()
, __reduce_ex__()
, __repr__()
, __rmod__()
, __rmul__()
, __setattr__()
, __sizeof__()
, __str__()
, __subclasshook__()
.
On va également pouvoir utiliser les méthodes classiques suivantes sur des objets Python de type str
: capitalize()
, casefold()
, center()
, count()
, encode()
, endswith()
, expandtabs()
, find()
, format()
, format_map()
, index()
, isalnum()
, isalpha()
, isascii()
, isdecimal()
, isdigit()
, isidentifier()
, islower()
, isnumeric()
, isprintable()
, isspace()
, istitle()
, isupper()
, join()
, ljust()
, lower()
, lstrip()
, maketrans()
, partition()
, replace()
, rfind()
, rindex()
, rjust()
, rpartition()
, rsplit()
, rstrip()
, split()
, splitlines()
, startswith()
, strip()
, swapcase()
, title()
, translate()
, upper()
, zfill()
.
Parmi les méthodes qu’on va le plus utiliser, on peut mentionner les méthodes lower()
, upper()
et capitalize()
qui renvoient respectivement une chaine de caractères en minuscules, majuscules, et avec la première lettre en majuscule.
La méthode replace()
effectue un remplacement dans la chaine et renvoie la chaine modifiée.
La méthode strip()
permet de supprimer les espaces superflus en début et en fin de chaine.
La méthode find()
permet de chercher la première occurence d’un caractère ou d’une séquence de caractères et renvoie leur position.
Les méthodes startswith()
et endswith()
permettent de vérifier si une chaine commence ou se termine bien par un caractère ou par une séquence de caractères et renvoient un booléen.
La méthode split()
convertit une chaîne en une liste de sous-chaînes. On peut choisir le caractère séparateur en le fournissant comme argument (par défaut l’espace est choisi comme séparateur).
La méthode join()
est la méthode “contraire” de split()
: elle permet de rassembler un ensemble de chaînes stockées dans un objet itérable (une liste, un tuple, un dictionnaire…) en une seule.
Attention : la chaîne à laquelle on applique cette méthode est celle qui servira de séparateur (un ou plusieurs caractères) ; l’argument transmis est la liste des chaînes à rassembler. Si on lui passe un dictionnaire en argument, les valeurs retournées seront les clefs du dictionnaire.
La méthode format()
est une des méthodes qu’il faut absolument connaitre en Python. Elle permet de formater des chaines de caractères. On va utiliser des accolades pour définir des parties de chaines qui devront être formatées.
On va ensuite pouvoir utiliser la méthode format()
pour formater la chaine en utilisant les valeurs passées en argument.
On peut également utiliser les expressions formatées en utilisant des noms de variable et en préfixant notre chaine avec la lettre f
.
Les méthodes des listes
Les listes Python disposent des méthodes magiques suivantes : __add__()
, __class__()
, __contains__()
, __delattr__()
, __delitem__()
, __dir__()
, __doc__()
, __eq__()
, __format__()
, __ge__()
, __getattribute__()
, __getitem__()
, __gt__()
, __hash__()
, __iadd__()
, __imul__()
, __init__()
, __init_subclass__()
, __iter__()
, __le__()
, __len__()
, __lt__()
, __mul__()
, __ne__()
, __new__()
, __reduce__()
, __reduce_ex__()
, __repr__()
, __reversed__()
, __rmul__()
, __setattr__()
, __setitem__()
, __sizeof__()
, __str__()
, __subclasshook__()
.
Nous allons également pouvoir utiliser les méthodes suivantes avec les listes : append()
, clear()
, copy()
, count()
, extend()
, index()
, insert()
, pop()
, remove()
, reverse()
, sort
.
La méthode append()
permet d’ajouter un ou une collection d’éléments en fin de liste. La liste de départ est modifiée.
La méthode insert()
permet elle d’ajouter un ou une collection d’éléments à une position dans la liste. La position est spécifiée en premier argument tandis que l’élément à ajouter est spécifié en second argument.
La méthode pop()
retire et renvoie l’élément de la liste dont l’index est passé en argument. Si on ne lui passe pas d’argument, le dernier élément sera supprimé.
La méthode remove()
permet de supprimer le premier élément dont la valeur correspond à la valeur passée en argument de cette méthode.
La méthode clear()
permet de supprimer tous les éléments d’une liste.
La méthode sort()
permet de classer les éléments d’une liste dans l’ordre alphabétique. On peut lui passer un argument reverse = True
pour que la liste soit classée dans l’ordre alphabétique inversé (de Z à A).
Les méthodes des dictionnaires
Les dictionnaires disposent des méthodes magiques suivantes : __class__()
, __contains__()
, __delattr__()
, __delitem__()
, __dir__()
, __doc__()
, __eq__()
, __format__()
, __ge__()
, __getattribute__()
, __getitem__()
, __gt__()
, __hash__()
, __init__()
, __init_subclass__()
, __iter__()
, __le__()
, __len__()
, __lt__()
, __ne__()
, __new__()
, __reduce__()
, __reduce_ex__()
, __repr__()
, __setattr__()
, __setitem__()
, __sizeof__()
, __str__()
, __subclasshook__()
.
Nous allons également pouvoir utiliser les méthodes suivantes avec ce type de données : clear()
, copy()
, fromkeys()
, get()
, items()
, keys()
, pop()
, popitem()
, setdefault()
, update()
, values
.
La méthode Python keys()
renvoie la liste des clefs utilisées dans un dictionnaire tandis que la méthode values()
renvoie la liste des valeurs d’un dictionnaire. La méthode get()
renvoie elle la valeur de l’élément du dictionnaire possédant la clef spécifiée.
La méthode items()
extrait une liste de tuples à partir d’un dictionnaire.
Enfin, la méthode pop()
supprime l’élément du dictionnaire lié à la clef spécifiée.