Cómo verificar si una cadena es un identificador válido en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si una cadena es un identificador válido en Python. Comprender las reglas para nombrar identificadores es crucial para escribir código limpio y sin errores.

Este laboratorio cubre las reglas para los identificadores de Python, incluyendo comenzar con una letra o guión bajo, contener letras, números y guiones bajos, ser sensible a mayúsculas y minúsculas y no ser palabras clave reservadas. Practicarás la creación de variables con identificadores válidos en un script de Python y aprenderás a usar str.isidentifier() y el módulo keyword para validar identificadores.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) 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{{"Cómo verificar si una cadena es un identificador válido en Python"}} python/strings -.-> lab-559575{{"Cómo verificar si una cadena es un identificador válido en Python"}} python/scope -.-> lab-559575{{"Cómo verificar si una cadena es un identificador válido en Python"}} python/using_packages -.-> lab-559575{{"Cómo verificar si una cadena es un identificador válido en Python"}} python/standard_libraries -.-> lab-559575{{"Cómo verificar si una cadena es un identificador válido en Python"}} end

Aprende sobre los identificadores de Python

En este paso, aprenderás sobre los identificadores de Python. Los identificadores son nombres utilizados para identificar variables, funciones, clases, módulos u otros objetos en Python. Comprender las reglas para nombrar identificadores es crucial para escribir código limpio y sin errores.

Reglas para los identificadores de Python:

  1. Comenzar con una letra o guión bajo: Un identificador debe comenzar con una letra (A-Z o a-z) o un guión bajo (_).
  2. Puede contener letras, números y guiones bajos: Después del primer carácter, un identificador puede contener letras, números (0-9) y guiones bajos.
  3. Sensible a mayúsculas y minúsculas: Los identificadores de Python son sensibles a mayúsculas y minúsculas, lo que significa que myVariable y myvariable se tratan como identificadores diferentes.
  4. No palabras clave reservadas: Los identificadores no pueden ser ninguna de las palabras clave reservadas de Python (por ejemplo, if, else, for, while, def, class, import, return, True, False, None).

Veamos algunos ejemplos de identificadores válidos e inválidos:

Identificadores válidos:

  • my_variable
  • _my_variable
  • myVariable
  • MY_VARIABLE
  • variable123

Identificadores inválidos:

  • 123variable (comienza con un número)
  • my-variable (contiene un guión)
  • my Variable (contiene un espacio)
  • if (palabra clave reservada)

Ahora, practiquemos la creación de algunas variables con identificadores válidos en un script de Python.

  1. Abre el editor de VS Code en el entorno de LabEx.

  2. Crea un nuevo archivo llamado identifiers.py en el directorio ~/project.

    cd ~/project
  3. En identifiers.py, agrega el siguiente código:

    ## 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. Guarda el archivo.

  5. Ejecuta el script utilizando el comando python:

    python identifiers.py

    Deberías ver la siguiente salida:

    10
    20
    30
    40
    50

Este ejercicio demuestra cómo crear variables con identificadores válidos e imprimir sus valores. Comprender estas reglas te ayudará a evitar errores de sintaxis y a escribir código más legible.

Utiliza str.isidentifier()

En este paso, aprenderás cómo utilizar el método str.isidentifier() en Python para verificar si una cadena es un identificador válido. Este método es una forma conveniente de validar nombres de identificadores de manera programática.

El método str.isidentifier() devuelve True si la cadena es un identificador válido de acuerdo con la definición del lenguaje Python, y False en caso contrario.

Vamos a crear un script de Python para probar diferentes cadenas y ver si son identificadores válidos.

  1. Abre el editor de VS Code en el entorno de LabEx.

  2. Crea un nuevo archivo llamado check_identifier.py en el directorio ~/project.

    cd ~/project
  3. En check_identifier.py, agrega el siguiente código:

    ## 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()}")

    Este script define varias cadenas y utiliza el método isidentifier() para verificar si cada cadena es un identificador válido de Python. Luego, los resultados se imprimen en la consola.

  4. Guarda el archivo.

  5. Ejecuta el script utilizando el comando python:

    python check_identifier.py

    Deberías ver la siguiente salida:

    '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

Esta salida muestra el resultado del método isidentifier() para cada cadena. Como puedes ver, el método identifica correctamente los identificadores válidos e inválidos según las reglas de nomenclatura de Python.

Verificación con el módulo keyword

En este paso, aprenderás cómo utilizar el módulo keyword en Python para verificar si una cadena es una palabra clave de Python. Las palabras clave son palabras reservadas que tienen significados especiales en Python y no se pueden utilizar como identificadores.

El módulo keyword proporciona una función llamada iskeyword() que verifica si una cadena dada es una palabra clave de Python.

Vamos a crear un script de Python para probar diferentes cadenas y ver si son palabras clave.

  1. Abre el editor de VS Code en el entorno de LabEx.

  2. Crea un nuevo archivo llamado check_keyword.py en el directorio ~/project.

    cd ~/project
  3. En check_keyword.py, agrega el siguiente código:

    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)

    Este script importa el módulo keyword y utiliza la función iskeyword() para verificar si las cadenas "if" y "my_variable" son palabras clave de Python. El script también imprime una lista de todas las palabras clave de Python utilizando keyword.kwlist.

  4. Guarda el archivo.

  5. Ejecuta el script utilizando el comando python:

    python check_keyword.py

    Deberías ver la siguiente salida:

    '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']

Esta salida muestra que la función keyword.iskeyword() identifica correctamente "if" como una palabra clave y "my_variable" como no una palabra clave. El script también imprime una lista de todas las palabras clave de Python.

Resumen

En este laboratorio, aprendiste sobre los identificadores de Python y las reglas que rigen su nomenclatura. Estas reglas establecen que los identificadores deben comenzar con una letra o un guión bajo, pueden contener letras, números y guiones bajos, distinguen entre mayúsculas y minúsculas y no pueden ser palabras clave reservadas.

Practicaste la creación de variables con identificadores válidos en un script de Python, demostrando el uso correcto de estas reglas. El laboratorio implicó la creación de un archivo identifiers.py, la asignación de valores a identificadores válidos y la impresión de esos valores en la consola.