I'm using Python 3 typing feature for better autocomplete.
Many times I have functions that return key/value (dictionary) with specific keys. super simple example:
def get_info(name):
name_first_letter = name[0]
return {'my_name': name, 'first_letter': name_first_letter}
I want to add type hinting to this function to tell others who use this function what to expect.
I can do something like:
class NameInfo(object):
def __init__(self, name, first_letter):
self.name = name
self.first_letter = first_letter
and then change the function signature to:
def get_info(name) -> NameInfo:
But it requires too much code for each dictionary.
What is the best practice in that case?
collections.namedtuple
to create your custom types? It does make only immutable types, but depending on how you were using the dictionaries before, that might not be an issue. – OlecranonDict[str, str]
type hint from typing module. – Wynnieattr.asdict(name_info_pair)
will give you the desired dict – Anteversion