Я хотел бы спросить, как получить строку самой переменной.
variable_1 = 'foo'
выведите результат как 'variable_1'
вместо 'foo'
. есть ли встроенные функции для этого?
Все переменные хранятся в locals(). Вы можете попробовать приведенный ниже код. Это даст вам список всех переменных, которые имеют значение как 'foo'
variable_1 = 'foo'
print([k for k,v in locals().items() if v == 'foo'])
Ответ @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']
globals()
, если он определен в глобальном масштабе?