I'm +1 On Tue, Sep 27, 2016 at 7:19 PM, Carl Friedrich Bolz <cfbolz@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_Transpa...
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