this post was submitted on 13 Jul 2024
62 points (98.4% liked)
technology
23313 readers
151 users here now
On the road to fully automated luxury gay space communism.
Spreading Linux propaganda since 2020
Rules:
- 1. Obviously abide by the sitewide code of conduct.
Bigotry will be met with an immediate ban
- 2. This community is about technology. Offtopic is permitted as long as it is kept in the comment sections
- 3. Although this is not /c/libre, FOSS related posting is tolerated, and even welcome in the case of effort posts
- 4. We believe technology should be liberating. As such, avoid promoting proprietary and/or bourgeois technology
- 5. Explanatory posts to correct the potential mistakes a comrade made in a post of their own are allowed, as long as they remain respectful
- 6. No crypto (Bitcoin, NFT, etc.) speculation, unless it is purely informative and not too cringe
- 7. Absolutely no tech bro shit. If you have a good opinion of Silicon Valley billionaires please manifest yourself so we can ban you.
founded 4 years ago
MODERATORS
You just have to do it manually in Python or rely on systems like mypy to get 'static' checking.
It can be useful to rely on duck typing though if you don't want to have to re-implement or inherit from an existing base class to use a higer order function.
If the function is written in a way where all it needs is specific methods or parameters from its input objects, you can really save on interface bloat.
But if someone is used to writing statically typed code and has to deal with that it can create a lot of confusion and I always end up writing a ton of override signatures either in my code or in a .pyi sidecar so whoever is using it can still get some form of feedback that what they're doing is okay. Or at the very least putting that information in the docstring so people can read the docs as they're using the function.