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,
Le code suivant permet de vérifier si la chaîne
1 2 | chaine = "prix_total" print(chaine.isidentifier()) |
Sortie :
1 | True |
La méthode retourne True car
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 :
1 | chaine.isidentifier() |
Sortie :
1 | True ou False |
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
Le code suivant montre quelques exemples simples :
1 2 3 4 5 | print("nombre".isidentifier()) print("_total".isidentifier()) print("nombre2".isidentifier()) print("2nombre".isidentifier()) print("mon-nom".isidentifier()) |
Sortie :
1 2 3 4 5 | True True True False False |
La chaîne
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 :
1 2 3 4 | chaines = ["nom", "age2", "_prix", "2nombre", "prix-total", "mon nom"] for chaine in chaines: print(chaine, ":", chaine.isidentifier()) |
Sortie :
1 2 3 4 5 6 | nom : True age2 : True _prix : True 2nombre : False prix-total : False mon nom : False |
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 :
1 2 | chaine = "" print(chaine.isidentifier()) |
Sortie :
1 | False |
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
Le code suivant illustre ce comportement :
1 2 3 4 | print("nombre".isidentifier()) print("for".isidentifier()) print("class".isidentifier()) print("while".isidentifier()) |
Sortie :
1 2 3 4 | True True True True |
Cependant,
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é :
1 2 3 4 5 6 7 8 | import keyword chaine = "for" if chaine.isidentifier() and not keyword.iskeyword(chaine): print("Identifiant Python utilisable") else: print("Identifiant Python non utilisable") |
Sortie :
1 | Identifiant Python non utilisable |
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 :
1 2 3 4 5 6 | nom = input("Donnez un nom de variable : ") if nom.isidentifier(): print("La forme de l'identifiant est valide.") else: print("La forme de l'identifiant est incorrecte.") |
Exemple de sortie :
1 2 | Donnez un nom de variable : prix_total La forme de l'identifiant est valide. |
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 :
1 2 3 4 5 6 7 8 | import keyword nom = input("Donnez un nom de variable : ") if nom.isidentifier() and not keyword.iskeyword(nom): print(nom, "peut être utilisé comme identifiant Python.") else: print(nom, "ne peut pas être utilisé comme identifiant Python.") |
Exemple de sortie :
1 2 | Donnez un nom de variable : mon_prix2 mon_prix2 peut être utilisé comme identifiant Python. |
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
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/



