Python Как достать название переменной переданной в аргументы функции
def sample(objectName):
# variable_name==objectName
variable_name = [k for k, b in locals().items() if b == []][0]
return variable_name
name=[]
print(sample(name))#output = objectName, а мне нужно чтоб name
Есть какие-то способы?
Ответы (2 шт):
Автор решения: Kers
→ Ссылка
Имена переменных функции Вам могут быть нужны если вы передаете именованный параметр:
def fun(name):
print(name)
s = "Hello"
fun(s) # Как позиционный
fun(name = s) # как именованный
# относительно списка
l = ["a", "b", "c"]
for i in l:
fun(i)
Как понимаю name это то что вы хотите узнать?
В функцию вы передаете не имя переменно а как бы ее содержимое которое в пределах функции может именоваться совсем иначе.
Автор решения: asanisimov
→ Ссылка
def sample(**kwargs):
variable_name = [k for k, v in kwargs.items() if v == []][0]
return variable_name
print(sample(name=[]))