We need not care other functions, just the "current" one. Other functions are definitely out of our control. My last example distinguish 3 cases: self.f() # object/overloaded version __class__.f(self) # decorated version __this_func__(self) # prime version
At 2017-03-01 09:30:56, "Matthias welp" <boekew...@gmail.com> wrote: >Hi, > >On 1 March 2017 at 01:12, 语言破碎处 <mlet_it_...@126.com> wrote: >> >> How a function refer itself? >> def f(): >> f() # fine... really??? > >I understand your question as the following: "Should functions be >allowed to point to themselves/the as of construction time unbound >variable in the function body, as they are not yet bound to a variable >at construction time" > >I think they should be allowed, as only when the function is executed >the variable lookups (and therefore function lookups) should happen. >Object.function() would have, well, interesting behaviour if you were >to pre-insert all function calls in the code: > > d = {'hello': 'world'} > def f(): > d.keys = lambda: {} > print(d.keys()) > >would result in "['keys']" being printed, while you explicitly said >that the keys method on variable d has to return an empty dict. > >I hope this helps you with your question. > >-Matthias
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/