this post was submitted on 12 Sep 2023
21 points (100.0% liked)

Python

6375 readers
66 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

๐Ÿ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

๐Ÿ Python project:
๐Ÿ’“ Python Community:
โœจ Python Ecosystem:
๐ŸŒŒ Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
 

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 are viewing a single comment's thread
view the rest of the comments
[โ€“] lascapi@jlai.lu 5 points 1 year ago (1 children)

I find like you that the first one is strange.

But I think that both are useless because you can put what you want in a list in python.

thing = List[str]()
type(thing)
# 
stuff: List[str] = []
type(stuff)
# 

But in other hand it's helpful in IDE to get some warning like Expected type 'str' (matched generic type '_T'), got 'int' instead.

Soooo, in the end I say that I choose this one thing: list[str] = [] because it looks more widely used and easily readable.

[โ€“] UlrikHD@programming.dev 11 points 1 year ago

But I think that both are useless because you can put what you want in a list in python.

You can say that about all type hinting, but assuming you actually adhere to the type hints, it's a great tool to make python projects manageable.