Comment vérifier si une chaîne de caractères est un identifiant valide en Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si une chaîne de caractères est un identifiant valide en Python. Comprendre les règles de nommage des identifiants est essentiel pour écrire un code propre et exempt d'erreurs.

Ce laboratoire couvre les règles relatives aux identifiants Python, notamment le fait de commencer par une lettre ou un underscore (_), de contenir des lettres, des chiffres et des underscores, d'être sensible à la casse et de ne pas être des mots-clés réservés. Vous allez pratiquer la création de variables avec des identifiants valides dans un script Python et apprendre à utiliser la méthode str.isidentifier() et le module keyword pour valider les identifiants.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/strings("Strings") python/FunctionsGroup -.-> python/scope("Scope") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") subgraph Lab Skills python/variables_data_types -.-> lab-559575{{"Comment vérifier si une chaîne de caractères est un identifiant valide en Python"}} python/strings -.-> lab-559575{{"Comment vérifier si une chaîne de caractères est un identifiant valide en Python"}} python/scope -.-> lab-559575{{"Comment vérifier si une chaîne de caractères est un identifiant valide en Python"}} python/using_packages -.-> lab-559575{{"Comment vérifier si une chaîne de caractères est un identifiant valide en Python"}} python/standard_libraries -.-> lab-559575{{"Comment vérifier si une chaîne de caractères est un identifiant valide en Python"}} end

Apprenez-en sur les identifiants Python

Dans cette étape, vous allez apprendre à connaître les identifiants Python. Les identifiants sont des noms utilisés pour identifier des variables, des fonctions, des classes, des modules ou d'autres objets en Python. Comprendre les règles de nommage des identifiants est essentiel pour écrire un code propre et exempt d'erreurs.

Règles pour les identifiants Python :

  1. Commencer par une lettre ou un underscore : Un identifiant doit commencer par une lettre (A-Z ou a-z) ou un underscore (_).
  2. Peut contenir des lettres, des chiffres et des underscores : Après le premier caractère, un identifiant peut contenir des lettres, des chiffres (0-9) et des underscores.
  3. Sensible à la casse : Les identifiants Python sont sensibles à la casse, ce qui signifie que myVariable et myvariable sont considérés comme des identifiants différents.
  4. Pas de mots-clés réservés : Les identifiants ne peuvent pas être l'un des mots-clés réservés de Python (par exemple, if, else, for, while, def, class, import, return, True, False, None).

Voyons quelques exemples d'identifiants valides et invalides :

Identifiants valides :

  • my_variable
  • _my_variable
  • myVariable
  • MY_VARIABLE
  • variable123

Identifiants invalides :

  • 123variable (commence par un chiffre)
  • my-variable (contient un tiret)
  • my Variable (contient un espace)
  • if (mot-clé réservé)

Maintenant, pratiquons la création de quelques variables avec des identifiants valides dans un script Python.

  1. Ouvrez l'éditeur VS Code dans l'environnement LabEx.

  2. Créez un nouveau fichier nommé identifiers.py dans le répertoire ~/project.

    cd ~/project
  3. Dans identifiers.py, ajoutez le code suivant :

    ## Valid identifiers
    my_variable = 10
    _my_variable = 20
    myVariable = 30
    MY_VARIABLE = 40
    variable123 = 50
    
    ## Printing the values
    print(my_variable)
    print(_my_variable)
    print(myVariable)
    print(MY_VARIABLE)
    print(variable123)
  4. Enregistrez le fichier.

  5. Exécutez le script en utilisant la commande python :

    python identifiers.py

    Vous devriez voir la sortie suivante :

    10
    20
    30
    40
    50

Cet exercice montre comment créer des variables avec des identifiants valides et afficher leurs valeurs. Comprendre ces règles vous aidera à éviter les erreurs de syntaxe et à écrire un code plus lisible.

Utilisez str.isidentifier()

Dans cette étape, vous apprendrez à utiliser la méthode str.isidentifier() en Python pour vérifier si une chaîne de caractères est un identifiant valide. Cette méthode est un moyen pratique de valider les noms d'identifiants de manière programmée.

La méthode str.isidentifier() renvoie True si la chaîne de caractères est un identifiant valide selon la définition du langage Python, False sinon.

Créons un script Python pour tester différentes chaînes de caractères et voir si elles sont des identifiants valides.

  1. Ouvrez l'éditeur VS Code dans l'environnement LabEx.

  2. Créez un nouveau fichier nommé check_identifier.py dans le répertoire ~/project.

    cd ~/project
  3. Dans check_identifier.py, ajoutez le code suivant :

    ## Examples of strings to test
    valid_identifier = "my_variable"
    invalid_identifier_start_with_number = "123variable"
    invalid_identifier_with_space = "my variable"
    invalid_identifier_with_hyphen = "my-variable"
    keyword_identifier = "if"
    valid_identifier_with_underscore = "_my_variable"
    
    ## Using str.isidentifier() to check if the strings are valid identifiers
    print(f"'{valid_identifier}' is a valid identifier: {valid_identifier.isidentifier()}")
    print(f"'{invalid_identifier_start_with_number}' is a valid identifier: {invalid_identifier_start_with_number.isidentifier()}")
    print(f"'{invalid_identifier_with_space}' is a valid identifier: {invalid_identifier_with_space.isidentifier()}")
    print(f"'{invalid_identifier_with_hyphen}' is a valid identifier: {invalid_identifier_with_hyphen.isidentifier()}")
    print(f"'{keyword_identifier}' is a valid identifier: {keyword_identifier.isidentifier()}")
    print(f"'{valid_identifier_with_underscore}' is a valid identifier: {valid_identifier_with_underscore.isidentifier()}")

    Ce script définit plusieurs chaînes de caractères et utilise la méthode isidentifier() pour vérifier si chaque chaîne est un identifiant Python valide. Les résultats sont ensuite affichés dans la console.

  4. Enregistrez le fichier.

  5. Exécutez le script en utilisant la commande python :

    python check_identifier.py

    Vous devriez voir la sortie suivante :

    'my_variable' is a valid identifier: True
    '123variable' is a valid identifier: False
    'my variable' is a valid identifier: False
    'my-variable' is a valid identifier: False
    'if' is a valid identifier: False
    '_my_variable' is a valid identifier: True

Cette sortie montre le résultat de la méthode isidentifier() pour chaque chaîne de caractères. Comme vous pouvez le voir, la méthode identifie correctement les identifiants valides et invalides en fonction des règles de nommage de Python.

Vérification avec le module keyword

Dans cette étape, vous apprendrez à utiliser le module keyword en Python pour vérifier si une chaîne de caractères est un mot-clé Python. Les mots-clés sont des mots réservés qui ont des significations spéciales en Python et ne peuvent pas être utilisés comme identifiants.

Le module keyword fournit une fonction appelée iskeyword() qui vérifie si une chaîne de caractères donnée est un mot-clé Python.

Créons un script Python pour tester différentes chaînes de caractères et voir si elles sont des mots-clés.

  1. Ouvrez l'éditeur VS Code dans l'environnement LabEx.

  2. Créez un nouveau fichier nommé check_keyword.py dans le répertoire ~/project.

    cd ~/project
  3. Dans check_keyword.py, ajoutez le code suivant :

    import keyword
    
    ## Examples of strings to test
    keyword_string = "if"
    not_keyword_string = "my_variable"
    
    ## Using keyword.iskeyword() to check if the strings are keywords
    print(f"'{keyword_string}' is a keyword: {keyword.iskeyword(keyword_string)}")
    print(f"'{not_keyword_string}' is a keyword: {keyword.iskeyword(not_keyword_string)}")
    
    ## Display all keywords
    print("Python keywords:")
    print(keyword.kwlist)

    Ce script importe le module keyword et utilise la fonction iskeyword() pour vérifier si les chaînes de caractères "if" et "my_variable" sont des mots-clés Python. Le script affiche également une liste de tous les mots-clés Python en utilisant keyword.kwlist.

  4. Enregistrez le fichier.

  5. Exécutez le script en utilisant la commande python :

    python check_keyword.py

    Vous devriez voir la sortie suivante :

    'if' is a keyword: True
    'my_variable' is a keyword: False
    Python keywords:
    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Cette sortie montre que la fonction keyword.iskeyword() identifie correctement "if" comme un mot-clé et "my_variable" comme n'étant pas un mot-clé. Le script affiche également une liste de tous les mots-clés Python.

Résumé

Dans ce laboratoire, vous avez appris les bases sur les identifiants Python et les règles qui régissent leur nommage. Ces règles stipulent que les identifiants doivent commencer par une lettre ou un tiret bas, peuvent contenir des lettres, des chiffres et des tirets bas, sont sensibles à la casse et ne peuvent pas être des mots-clés réservés.

Vous avez pratiqué la création de variables avec des identifiants valides dans un script Python, démontrant ainsi l'utilisation correcte de ces règles. Le laboratoire a consisté à créer un fichier identifiers.py, à assigner des valeurs à des identifiants valides et à afficher ces valeurs dans la console.