4 ms·
There are two nice things that you get with an explicit "self": * You can nest classes and methods. This is ugly, so I never use it except in testsuites where
by gxti 16y ago
There are two nice things that you get with an explicit "self":
* You can nest classes and methods. This is ugly, so I never use it except in testsuites where declaring a mock class right in the test method is the best way to do it, but it's great to have "self" be the testcase and "xself" be the mocked method.
* There's no such thing as a magic variable. Every name you can reach is declared somewhere, either locally, globally, or from `__builtins__`. If self were automatic, then it would be invisible like the builtins, but it would change depending on where you used it from. The consistency is worth the minor inconvenience, IMHO.