Объяснить работу kwargs
Кто нибудь может объяснить, почему в таком коде я не могу получить результат принта spisok, а получаю ошибку? Чем в данном случае является сам spisok и возможно ли его как-то вывести?
def get_person(**spisok):
for one, two in spisok.items():
print(one, two)
get_person(Name = 'Max', Age = 20, Has_car = True)
print(spisok)
Ответы (1 шт):
Переменная с именем spisok существует только внутри функции. Ты можешь использовать её только пока задаёшь алгоритм, логику работы твоей функции во время её объявления. Когда ты вызываешь функцию, у тебя не создаётся никаких переменных за пределами функции. После выполнения кода из функции у тебя ничего не остаётся, если ты не задал для неё такого поведения.
Это можно поправить, написав в начале функции: global <имя переменной>, но так лучше не делать, чтобы не оставлять в памяти лишнего мусора.
Лучше в функции указать return <переменная>, а потом при вызове функции присвоить какой-то переменной значение, которое вернёт функция.