Have you considered bringing this up on python-ideas, too? On Tue, Sep 27, 2016 at 12:19 PM, Carl Friedrich Bolz <cfb...@gmx.de> wrote:
> Hi all, > > I read this paper today about common mistakes that Python beginners > make: > > https://www.researchgate.net/publication/307088989_Some_ > Trouble_with_Transparency_An_Analysis_of_Student_Errors_ > with_Object-oriented_Python > > The most common one by far is forgetting the "self" parameter in the > method definition (which also still happens to me regularly). The error > message is not particularly enlightening, if you don't quite understand > the explicit self in Python. > > > So I wonder whether we should print a better error message, something > like this: > > $ cat m.py > class A(object): > def f(x): > return self.x > A().f(1) > > $ pypy m.py > Traceback (application-level): > File "m.py", line 4 in <module> > A().f(1) > TypeError: f() takes exactly 1 argument (2 given). Did you forget 'self' > in the function definition? > > > It's a bit the question how clever we would like this to be to reduce > false positives, see the attached patch for a very simple approach. > > Anyone have opinions? > > Cheers, > > Carl Friedrich > > _______________________________________________ > pypy-dev mailing list > pypy-dev@python.org > https://mail.python.org/mailman/listinfo/pypy-dev > > -- Ryan [ERROR]: Your autotools build scripts are 200 lines longer than your program. Something’s wrong. http://kirbyfan64.github.io/
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev