Даже если я назначу ее переменной, вызов API срабатывает слишком рано.
Я реализовал несколько идей, как показано в примерах (не фактический код, а те же принципы).
""" Example #1 """
fruit = 'banana'
def search_engine(fruit):
engine = {
'apple': google.search(Time="10 hours ago"),
'banana': yahoo.searchNow(Time="12 min ago"),
'pear': bing.searchNow(Time="13h ago"),
}
print(engine[fruit])
search_engine(fruit)
""" Example #2 """
fruit = 'banana'
def search_engine(fruit):
GS = google.search(Time="10 hours ago")
YS = yahoo.searchNow(Time="12 min ago")
BS = bing.searchNow(Time="13h ago")
engine = {
'apple': GS,
'banana': YS,
'pear': BS,
}
print(engine[fruit])
Давайте предположим, что время является неправильным значением, и будембросить исключение независимо.
в Примере № 1, однако, «яблоко» вызывается первым и выдает исключение, когда вместо него следует вызывать «банан».
В Примере № 2 оно выдает исключение на «GS = google.search (Time .... ", вместо того, чтобы делать это для" YS = yahoo.searchNow ... "
У меня была эта проблема только после попытки интеграции моего проекта Python в Django.