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

Программы на Python
Ответить
Anonymous
 Как получить имя переменной в виде строки в Python? [дубликат]

Сообщение Anonymous »

Я определил следующую переменную: Я хочу получить его имя в виде строки, в данном случае строки «a».
Как мне это сделать в Python.< /p>
Я пробовал следующее:

Код: Выделить всё

l = locals()
list_var = filter(lambda k: l[k] == 2, l)
print(list_var[0])
Этот код работает только в том случае, если существует только одна переменная, равная 2.
Например, если также было определение b = 2 перед определением a этот код приведет к 'b'.
Я ожидал чего-то вроде:

Код: Выделить всё

a.__name__
Но синтаксиса не существует.
Каков правильный подход?
Пример использования:

Код: Выделить всё

import docker
class Docker:
client = docker.from_env()
def __init__(self, container1=None, container2=None):
self.container1 = container1 # focus here
self.container2 = container2

def run(self):
containter1_options = {
'image': 'image1',
'name': 'container1',
}
containter2_options = {
'image': 'image2',
'name': 'container2',
'links': {
'container1': 'container1', # focus here
},
}
self.client.containers.run(**containter1_options)
self.client.containers.run(**containter2_options)
Я хочу, чтобы значение 'container1' во втором фокусе всегда совпадало с именем переменной в первом фокусе >, даже если программа появится позже и изменит имя этой переменной.
Например, если разработчик или я придем позже и решим изменить self.container1 на self.web_container,тогда я бы хотел, чтобы это было отражено в ценность второго фокуса.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»