Python

Como checar se uma variável existe em Python

6 de dezembro de 2020

Como checar se uma variável existe em Python

Neste artigo você vai aprender a checar se uma variável existe em Python, ou seja, fazer um if para verificar se a variável esta no seu software

Como checar se uma variável existe capa

Conteúdo também disponível em vídeo:

Fala programador(a), beleza? Bora aprender a fazer uma validação em Python para checar se uma determinada variável existe ou está incializada

Esta tarefa é muito simples em Python, como grande parte dos problemas que podemos resolver com a linguagem

Podemos fazer a validação tanto nas variáveis globais quanto nas locais, ou seja, dependendo do escopo que está inserida

Veja na prática as duas abordagens:

idade = 29

if 'idade' in locals():
    print("A variável está no escopo local")
    
if 'idade' in globals():
    print("A variável está no escopo global")

Neste caso teremos as duas instruções sendo efetuadas pois o escopo local e global é o mesmo

Veja que a sintaxe é um pouco diferente, precisamos colocar o nome da variável entre aspas, como uma string

Caso você não saiba a diferença de escopo global e local é o seguinte:

  • local: Escopo que é criado dentro das funções, e não se mistura com o que está no escopo global
  • global: Tudo que está fora de uma função é considerado global, se já não estiver dentro de uma função

Podemos dizer então que quando criamos uma função, criamos também um escopo global

Por isso podemos realizar estas duas checagens, dependendo de onde queremos verificar se uma variável existe

Conclusão

Neste artigo aprendemos a como checar se uma variável existe em Python

Podemos verificar no escopo global com globals e no escopo local com locals

Precisamos utilizar o operador in e passar a variável como uma string para que Python faça a checagem no escopo que precisamos verificar

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x