Как проверить существование переменной в Python?

Пользователь

от nikko , в категории: Python , 2 года назад

Как проверить существование переменной в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от loyal , 2 года назад

@nikko Вы можете использовать in locals() или in globals(), чтобы проверить переменная существует в Python, разница только:

  1. in locals() проверяет если переменная объявлена в локальной зоне видимости
  2. in globals() проверяет если переменная объявлена в глобальной зоне видимости

Пример кода на Python:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# Глобальная переменная
global_var = 0

def test():
    # Локальная переменная
    local_var = 0
    print("local_var локальная:")
    # Вывод: True
    print("local_var" in locals())
    print("global_var локальная:")
    # Вывод: False
    print("global_var" in locals())
    print("global_var глобальная:")
    # Вывод: True
    print("global_var" in globals())

test()


Пользователь

от deion , год назад

@nikko 

В Python можно использовать ключевое слово in для проверки существования переменной в локальной области видимости.

1
2
3
4
if "myvar" in locals():
    print("myvar exists")
else:
    print("myvar does not exist")


Так же можно использовать globals() для проверки существования переменной в глобальной области видимости.

1
2
3
4
if "myvar" in globals():
    print("myvar exists")
else:
    print("myvar does not exist")


Или же можно использовать встроенную функцию globals(), locals() или vars()

1
2
3
4
5
6
try:
    myvar
except NameError:
    print("myvar does not exist")
else:
    print("myvar exists")


В контексте проверки имени переменной в настоящий момент, можно использовать выражение myvar is not None

1
2
3
4
if myvar is not None:
    print("myvar exists")
else:
    print("myvar does not exist")