On Sat, Feb 11, 2017 at 01:25:40AM +1100, Chris Angelico wrote: > For what it's worth, my answers would be: > > __name__ would be the textual representation of exactly what you typed > between "def" and the open parenthesis. __qualname__ would be built > the exact same way it currently is, based on that __name__.
If I'm reading this right, you want this behaviour: class Spam: pass def Spam.func(self): pass assert 'Spam.func' not in Spam.__dict__ assert 'func' in Spam.__dict__ assert Spam.func.__name__ == 'Spam.func' assert Spam.func.__qualname__ == 'Spam.Spam.func' If that's the case, I can only ask... what advantage do you see from this? Because I can see plenty of opportunity for confusion, and no advantage. For what its worth, Lua already has this feature: http://www.lua.org/pil/6.2.html Lib = {} function Lib.foo (x,y) return x + y end If we define that function foo inside the Lib table, and then cause an error, the Lua interpreter tells us the function name: > Lib.foo('a', 1) stdin:2: attempt to perform arithmetic on local 'x' (a string value) stack traceback: stdin:2: in function 'foo' stdin:1: in main chunk [C]: in ? -- Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/