21
submitted 1 year ago* (last edited 1 year ago) by wasabi@feddit.de to c/python@programming.dev

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

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 10 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.

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

Python

6381 readers
74 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