On Thu, 19 Oct 2023 at 18:25, Karsten Hilbert <karsten.hilb...@gmx.net> wrote: > > > > > Fundamentally no, at least not without some shenanigans. Type hints do > > > > not affect the regular running of the code, > > > > > > Except when they do ;-) > > > > > > ... depending on what counts as (valid) code ... > > > > > > In Python a distinction can be made between "runnable" and "valid" :-D > > > > > > > Can you give a counter-example? > > As per my recent foray into abusing existence-checking for Singleton assurance > along such lines as > > >>> try: self.initialized > >>> except AttributeError: print('first instantiation'); self.initialized = > >>> True > > and then changing that to > > >>> try: self.initialized:bool
But that's not equivalent code. You might just as well say that the ellipsis here suddenly changes the code: self.initialized self.initialized = ... These are completely different, and they behave differently. Both are valid, but they mean different things. ChrisA -- https://mail.python.org/mailman/listinfo/python-list