Issue
This Content is from Stack Overflow. Question asked by Khandaker Abrar Nadib
Map: dict[str, object] = {
"image" : Image.generate,
"video" : Video.generate,
}
Here, generate(json)
is a function in both cases. However I’m getting a typehint error that "object" not callablemypy(error)
. What should be the appropriate type instead of object
for the Map
?
Solution
You can use dict[str,Callable]
to allow any callable object as a value, but you might want to be more specific. At the very least, it sounds like the function must return a single string (the resulting JSON value), so you can write
dict[str, Callable[[...], str]]
to allow functions that take arbitrary arguments and return a str
. If you know more about what the function can accept, you can replace ...
with one or more specific argument types.
This Question was asked in StackOverflow by Khandaker Abrar Nadib and Answered by chepner It is licensed under the terms of CC BY-SA 2.5. - CC BY-SA 3.0. - CC BY-SA 4.0.