Python печатать имя переменной? [Дубликат]

1

Я хотел бы спросить, как получить строку самой переменной.

variable_1 = 'foo'

выведите результат как 'variable_1' вместо 'foo'. есть ли встроенные функции для этого?

Теги:

2 ответа

0
Лучший ответ

Все переменные хранятся в locals(). Вы можете попробовать приведенный ниже код. Это даст вам список всех переменных, которые имеют значение как 'foo'

variable_1 = 'foo'
print([k for k,v in locals().items() if v == 'foo'])
  • 0
    Как насчет globals() , если он определен в глобальном масштабе?
0

Ответ @Rishabh хорош, но когда вы делаете печать в функции, и вызываете ее:

variable_1 = 'foo'
def f():
    print([k for k,v in locals().items() if v == 'foo'])

f()

Это будет выводить:

[]

Таким образом, вы должны использовать globals вместо locals:

variable_1 = 'foo'
def f():
    print([k for k,v in globals().items() if v == 'foo'])
f()

Тогда теперь результат будет:

['variable_1']

Ещё вопросы

Сообщество Overcoder
Наверх
Меню