Como Verificar se uma String é um Identificador Válido em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma string é um identificador válido em Python. Compreender as regras para nomear identificadores é crucial para escrever código limpo e sem erros.

Este laboratório aborda as regras para identificadores Python, incluindo começar com uma letra ou sublinhado, conter letras, números e sublinhados, ser case-sensitive (sensível a maiúsculas e minúsculas) e não ser palavras-chave reservadas. Você praticará a criação de variáveis com identificadores válidos em um script Python e aprenderá a usar str.isidentifier() e o módulo keyword para validar identificadores.

Aprenda sobre Identificadores Python

Nesta etapa, você aprenderá sobre identificadores Python. Identificadores são nomes usados para identificar variáveis, funções, classes, módulos ou outros objetos em Python. Compreender as regras para nomear identificadores é crucial para escrever código limpo e sem erros.

Regras para Identificadores Python:

  1. Começar com uma Letra ou Sublinhado: Um identificador deve começar com uma letra (A-Z ou a-z) ou um sublinhado (_).
  2. Pode Conter Letras, Números e Sublinhados: Após o primeiro caractere, um identificador pode conter letras, números (0-9) e sublinhados.
  3. Case-Sensitive (Sensível a Maiúsculas e Minúsculas): Identificadores Python são case-sensitive, o que significa que myVariable e myvariable são tratados como identificadores diferentes.
  4. Sem Palavras-chave Reservadas: Identificadores não podem ser nenhuma das palavras-chave reservadas do Python (por exemplo, if, else, for, while, def, class, import, return, True, False, None).

Vamos ver alguns exemplos de identificadores válidos e inválidos:

Identificadores Válidos:

  • my_variable
  • _my_variable
  • myVariable
  • MY_VARIABLE
  • variable123

Identificadores Inválidos:

  • 123variable (começa com um número)
  • my-variable (contém um hífen)
  • my Variable (contém um espaço)
  • if (palavra-chave reservada)

Agora, vamos praticar a criação de algumas variáveis com identificadores válidos em um script Python.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado identifiers.py no diretório ~/project.

    cd ~/project
  3. Em identifiers.py, adicione o seguinte 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. Salve o arquivo.

  5. Execute o script usando o comando python:

    python identifiers.py

    Você deve ver a seguinte saída:

    10
    20
    30
    40
    50

Este exercício demonstra como criar variáveis com identificadores válidos e imprimir seus valores. Compreender essas regras o ajudará a evitar erros de sintaxe e a escrever um código mais legível.

Use str.isidentifier()

Nesta etapa, você aprenderá como usar o método str.isidentifier() em Python para verificar se uma string é um identificador válido. Este método é uma maneira conveniente de validar nomes de identificadores programaticamente.

O método str.isidentifier() retorna True se a string for um identificador válido de acordo com a definição da linguagem Python, False caso contrário.

Vamos criar um script Python para testar diferentes strings e ver se elas são identificadores válidos.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado check_identifier.py no diretório ~/project.

    cd ~/project
  3. Em check_identifier.py, adicione o seguinte 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 várias strings e usa o método isidentifier() para verificar se cada string é um identificador Python válido. Os resultados são então impressos no console.

  4. Salve o arquivo.

  5. Execute o script usando o comando python:

    python check_identifier.py

    Você deve ver a seguinte saída:

    '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 saída mostra o resultado do método isidentifier() para cada string. Como você pode ver, o método identifica corretamente identificadores válidos e inválidos com base nas regras de nomenclatura do Python.

Verificar com o Módulo Keyword

Nesta etapa, você aprenderá como usar o módulo keyword em Python para verificar se uma string é uma palavra-chave Python. Palavras-chave são palavras reservadas que têm significados especiais em Python e não podem ser usadas como identificadores.

O módulo keyword fornece uma função chamada iskeyword() que verifica se uma determinada string é uma palavra-chave Python.

Vamos criar um script Python para testar diferentes strings e ver se elas são palavras-chave.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado check_keyword.py no diretório ~/project.

    cd ~/project
  3. Em check_keyword.py, adicione o seguinte 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 o módulo keyword e usa a função iskeyword() para verificar se as strings "if" e "my_variable" são palavras-chave Python. O script também imprime uma lista de todas as palavras-chave Python usando keyword.kwlist.

  4. Salve o arquivo.

  5. Execute o script usando o comando python:

    python check_keyword.py

    Você deve ver a seguinte saída:

    '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 saída mostra que a função keyword.iskeyword() identifica corretamente "if" como uma palavra-chave e "my_variable" como não sendo uma palavra-chave. O script também imprime uma lista de todas as palavras-chave Python.

Resumo

Neste laboratório, você aprendeu sobre identificadores Python e as regras que regem sua nomenclatura. Essas regras ditam que os identificadores devem começar com uma letra ou sublinhado, podem conter letras, números e sublinhados, são case-sensitive (sensíveis a maiúsculas e minúsculas) e não podem ser palavras-chave reservadas.

Você praticou a criação de variáveis com identificadores válidos em um script Python, demonstrando o uso correto dessas regras. O laboratório envolveu a criação de um arquivo identifiers.py, a atribuição de valores a identificadores válidos e a impressão desses valores no console.