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?
You’d always want to use
varname: type_description = initial_value
pattern. It’s readable, is the same pattern you use in method params, and linters and IDEs recognize this pattern. And it makes sense for the type description be on the left side of the assignment operator, together with the variable it’s describing.I’m pretty sure most type checkers recognise both forms.