On Wed, Dec 4, 2019, at 11:51, Chris Angelico wrote:
> Which of these are you expecting to be detected, and thus cause the
> change in bytecode?
More or less the same sort of operations where the use of the name super is
detected within methods and causes the enclosing class to have a __class__ cell.
> __operatorhook_or__ = lambda obj1, obj2: ...
yes
> def init():
> global __operatorhook_or__
> def __operatorhook_or__(obj1, obj2): ...
> init()
yes
> globals()["__operatorhook_or__"] = lambda obj1, obj2: ...
no
> exec("def __operatorhook_or__(obj1, obj2): ...")
no
> from othermodule import __operatorhook_or__
yes
> from othermodule import *
no
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/BKISATWOR5T3ZJQTAD6STAA5E4ZPJKGK/
Code of Conduct: http://python.org/psf/codeofconduct/