Возможно ли, чтобы состояние ["ответ"] не вызывало KeyError: 'ответ', когда свойство отсутствуетPython

Программы на Python
Anonymous
Возможно ли, чтобы состояние ["ответ"] не вызывало KeyError: 'ответ', когда свойство отсутствует

Сообщение Anonymous »

Я рассматриваю этот пример в разделе «Создание графика»:

Код: Выделить всё

class PlanExecute(TypedDict):
input: str
plan: List[str]
past_steps: Annotated[List[Tuple], operator.add]
response: str

def should_end(state: PlanExecute):
if state["response"]:
return True
else:
return False
У меня выдается исключение KeyError: 'response'.
Естественно, я бы сделал это так:

Код: Выделить всё

def should_end(state: PlanExecute):
return 'response' in state
или вот так

Код: Выделить всё

def should_end(state: PlanExecute):
if state.get("response"):
return True
else:
return False
Но мне интересно, почему в примере, который должен работать, они использовали конструкцию, которая выдает ошибку. Это просто опечатка или есть случаи, когда ошибка не выдается?

Подробнее здесь: https://stackoverflow.com/questions/783 ... en-the-pro

Вернуться в «Python»