TypedDict when keys have invalid names

后端 未结 1 1839
北海茫月
北海茫月 2021-01-13 09:39

If I have a key in a dictionary with an invalid identifier, such as A(2). How can I create a TypedDict with this field?

E.g



        
相关标签:
1条回答
  • 2021-01-13 10:13

    According to PEP 589 you can use alternative syntax to create a TypedDict as follows:

    Movie = TypedDict('Movie', {'name': str, 'year': int})

    So, in your case, you could write:

    from typing import TypedDict
    
    RandomAlphabet = TypedDict('RandomAlphabet', {'A(2)': str})
    

    or for the second example:

    RandomAlphabet = TypedDict('RandomAlphabet', {'return': str})
    

    PEP 589 warns, though:

    This syntax doesn't support inheritance, however, and there is no way to have both required and non-required fields in a single type. The motivation for this is keeping the backwards compatible syntax as simple as possible while covering the most common use cases.

    0 讨论(0)
提交回复
热议问题