Tester si une chaîne est un identifiant Python avec isidentifier()

1. À propos de isidentifier() en Python

La méthode isidentifier() permet de vérifier si une chaîne de caractères possède une forme valide pour être utilisée comme identifiant Python.

Un identifiant est un nom utilisé en Python pour désigner notamment une variable, une fonction, une classe ou un autre objet du programme.

Par exemple, nombre, prix_total et age2 possèdent une forme valide d'identifiant, tandis que 2age, prix-total et mon nom ne sont pas des identifiants valides.

Le code suivant permet de vérifier si la chaîne "prix_total" possède une forme valide d'identifiant Python :

Sortie :

La méthode retourne True car prix_total respecte les règles de formation d'un identifiant Python.

2. Syntaxe et fonctionnement de isidentifier()

La méthode isidentifier() s'applique directement à une chaîne de caractères et ne prend aucun argument.

Sa syntaxe générale est la suivante :

Sortie :

Elle retourne True si la chaîne possède la forme d'un identifiant Python valide et False dans le cas contraire.

Un identifiant Python peut notamment commencer par une lettre ou par le caractère de soulignement _. Il peut ensuite contenir des lettres, des chiffres et des caractères de soulignement.

Le code suivant montre quelques exemples simples :

Sortie :

La chaîne "2nombre" n'est pas valide car elle commence par un chiffre. La chaîne "mon-nom" n'est pas valide car le tiret - n'est pas autorisé dans un identifiant Python.

3. Tester plusieurs chaînes avec isidentifier()

La méthode isidentifier() est particulièrement pratique lorsqu'on souhaite vérifier automatiquement une liste de noms avant de les utiliser comme identifiants.

Dans l'exemple suivant, une boucle parcourt plusieurs chaînes et indique pour chacune si elle possède une forme valide :

Sortie :

On remarque que les espaces et certains caractères spéciaux comme le tiret rendent l'identifiant invalide.

Une chaîne vide n'est pas non plus considérée comme un identifiant valide. Le code suivant permet de le vérifier :

Sortie :

4. isidentifier() et les mots-clés Python

Il existe une distinction importante entre un identifiant syntaxiquement valide et un nom réellement utilisable comme identifiant dans un programme Python.

Certains mots-clés Python, comme for, if, while ou class, respectent la forme d'un identifiant. La méthode isidentifier() peut donc retourner True pour ces chaînes.

Le code suivant illustre ce comportement :

Sortie :

Cependant, for, class et while sont des mots-clés réservés et ne peuvent donc pas être utilisés comme noms de variables ordinaires.

Pour effectuer une vérification plus complète, on peut utiliser le module keyword avec la fonction keyword.iskeyword().

Le programme suivant vérifie à la fois la forme de l'identifiant et le fait que la chaîne ne soit pas un mot-clé réservé :

Sortie :

Cette combinaison permet donc de réaliser une vérification plus précise lorsqu'on souhaite savoir si une chaîne peut réellement servir de nom dans un programme Python.

5. Utiliser isidentifier() dans un programme

La méthode isidentifier() peut être utilisée pour contrôler une donnée saisie par l'utilisateur. On peut, par exemple, demander un nom de variable et vérifier sa validité avant de poursuivre le programme.

Le programme suivant demande à l'utilisateur de saisir un identifiant :

Exemple de sortie :

Pour tenir également compte des mots-clés réservés du langage, il est préférable d'utiliser isidentifier() avec le module keyword.

Le programme suivant réalise cette vérification complète :

Exemple de sortie :

Cette technique peut être utile dans les programmes qui manipulent des noms de variables, des paramètres, des noms générés automatiquement ou des données provenant d'un utilisateur.

6. À retenir !

La méthode isidentifier() permet de déterminer si une chaîne possède la forme syntaxique d'un identifiant Python valide.

Elle retourne True lorsque la chaîne respecte les règles de formation des identifiants et False dans le cas contraire.

Un identifiant ne peut notamment pas commencer par un chiffre et ne peut pas contenir d'espace ou certains caractères spéciaux comme -.

Il faut cependant retenir que isidentifier() ne suffit pas à déterminer si un nom peut réellement être utilisé dans toutes les situations. Les mots-clés réservés tels que for, while ou class peuvent retourner True avec isidentifier().

Pour vérifier qu'une chaîne constitue un identifiant utilisable, on peut combiner isidentifier() avec keyword.iskeyword().

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


loader-image
Le prix initial était : € 11,00.Le prix actuel est : € 10,00.
Le prix initial était : € 6,00.Le prix actuel est : € 5,00.



Leave a Reply

Your email address will not be published. Required fields are marked *