I had to use Python for a bit at work and it was confusing
pipenv, venv, virtualenv, poetry…wtf is all this shit
a.b
vs a['b']
vs a.get('b')
…wtf is a KeyError
What happens in other languages you use when you try to access a non-existing key for a hash/map/dict?
What language do you use that accessing an object attribute is the same that accessing a dict key?
What knowledge do you have (or not) that KeyError is a mistery to you?
What language do you use that accessing an object attribute is the same that accessing a dict key?
Javascript / Typescript.
Return undefined.
Typescript.
Why error? Just return undefined. Simple, no try/catch needed.
Because that’s prone to errors. And the Zen of Python includes “explicit is better than implicit” and “Errors should never pass silently”. Languages that do otherwise create bad habits.