I want to use with
as a key in a TypedDict
in python 3.10.
I have:
from typing import TypedDict, Optional
class Operation(TypedDict, total=False):
uses: str
with: Optional[ActionCheckout]
But my IDE says I cannot do this?
CodePudding user response:
You won't be able to use the declarative syntax, as with
(being a hard keyword defined by the grammar) is not a valid identifier; use the functional syntax instead.
Operation = TypedDict('Operation', {'uses': str, 'with': Optional[ActionCheckout]})
This is specifically addressed in the documentation:
The functional syntax should also be used when any of the keys are not valid identifiers, for example because they are keywords
CodePudding user response:
with
is a keyword in Python for Context Managers. Have a look here: https://realpython.com/python-with-statement/