Я работаю с API-интерфейсом Python Flickr и имею проблему, определяющую функцию (я как бы новый для Python).Передача пар ключ-значение в качестве параметров функции в Python
мне нужно обернуть следующую функциональность апи в функцию:
photos = flickr.photos_search(
tags="foo",
is_commons="True")
Это возвращает поиск фотографий по тегу «Foo» из коллекции Commons Flickr в.
Теперь я хочу заменить тег каждый раз, когда я ищу, так что я оберните его в функцию:
def search_photos(fl_tags):
photos = flickr.photos_search(
tags=fl_tags,
is_commons="True")
search_photos("foo")
Это работает, флаг is_commons однако, мне нужно иногда заменять вообще (не только значение , но также и ключ, поскольку, как представляется, в API Flickr появляется ошибка, что он всегда ищет в коллекции Commons независимо от того, какое значение вы задали для этого флага).
В этом случае я хотел бы заменить его комбинацией значений ключа license="9"
.
Я не знаю, как поместить это в параметры функции. Если я предоставляю параметр fl_license
и просто устанавливаю его на license="9"
, когда я вызываю функцию, это не работает (как я и ожидал).
def search_photos(fl_tags, fl_license):
photos = flickr.photos_search(
tags=fl_tags,
fl_license)
search_photos("foo", license="9") # --> SyntaxError: non-keyword arg after keyword arg
Есть ли способ заставить это работать. Как я могу получить пару ключ-значение через параметр функции?
Спасибо!
Итак, в основном передайте 'license =" 9 "' в функцию 'flickr.photos_search'? Можете ли вы передать «dict» там? – Zizouz212
@ Zizouz212 Да, точно. Передача словаря на flickr.photos.search не сработала, но вместо этого верните ошибку типа. Фотографии = flickr.photos_search (fl_dict) ТипError: __call __() принимает ровно 1 аргумент (2 данный) – mdomino