#python
Вопрос:
Поэтому я написал функцию, которая принимает 2 параметра X и Y и выводит гистограмму на их основе, а затем принимает некоторые другие параметры (например, здесь: заголовок) и что-то с этим делает.
Я попытался просто вызвать переменную, но это не сработало
Итак, как же использовать переменные в кваргах? Это вообще тот вопрос, который я должен задавать, или это просто невозможно?
import matplotlib.pyplot as plt
def bar(x,y,**stuff):
plt.barh(x,y)
for key,value in stuff.items():
if title != "":
plt.title(stuff[title])
return plt.show()
bar(["bob","jeff","Dave"],[1,2,3],title = "People")
Это возвращает ошибку имени
Комментарии:
1.
stuff
это диктат-сделатьstuff.get("title")
, чтобы получитьtitle
кварг.
Ответ №1:
NameError
Исключение составляет то, что title
не определено до if
условия if title != "":
. Похоже, что вы пытаетесь получить аргумент ключевого слова, называемый title
переданным через **stuff
. В этом случае, поскольку stuff
это словарь, вы хотели бы проиндексировать stuff
его с помощью ключа title
:
def bar(x,y,**stuff):
plt.barh(x,y)
if stuff['title'] != "":
plt.title(stuff['title'])
return plt.show()