I have seen some people prefer to create a list of strings by using thing = list[str]()
instead of thing: list[str] = []
. I think it looks kinda weird, but maybe that’s just because I have never seen that syntax before. Does that have any downsides?
It is also possible to use this for dicts: thing = dict[str, SomeClass]()
. Looks equally weird to me. Is that widely used? Would you use it? Would you point it out in a code review?
It's described in PEP 585, https://peps.python.org/pep-0585/#parameters-to-generics-are-available-at-runtime