May-29-2020, 03:18 PM
I am starting to use typing and have come up with problems working out how to use typing in a particular situation.
I am running Python 3.8.3 in Eclipse 2020-03 with the Pydev plugin 7.5.
I give some of my attempts:
I am running Python 3.8.3 in Eclipse 2020-03 with the Pydev plugin 7.5.
I give some of my attempts:
x = {}I want to use static typing with this code. The following test code shows some of my attempts to discover how to do this:
# Ignore the reported error here. Irrelevant to this discussion. from typing import Any, Mapping # This matches what I expect the dictionary to contain except that the type of # the dictionary initializer, keyed 'mno', is not defined. d: Mapping[str, Any] = {'abc': None, 'def': 'ghi', 'jkl': 1, 'mno': {'xyz': 'abc'}} # I know this is invalid but I am looking for a way to specify the type of # an initializer when it is not determinable from the code. e: Mapping[str, Any] = {'abc': None, 'def ': 'ghi', 'jkl': 1, 'mno': Mapping[str, str] {'xyz': 'abc'}} # Here I want to use an empty dictionary as an initializer and my pseudo code # to describe the type of the initializer is accepted. f: Mapping[str, str] = {'abc': None, 'def': 'ghi', 'jkl': 1, 'mno': Mapping[str, str] {}} # I have been unable to find any documentation describing how to specify the # type of an initializer, so my question is "how is it supposed to be done?".