[issue10438] list an example for calling static methods from WITHIN classes

2017-07-12 Thread R. David Murray
R. David Murray added the comment: It is documented how to call a static method when you don't have an instance. So when you don't (for example, inside a static method on the same class) you use that form (call the method on the class name). I realize you don't find this clear, but as

[issue10438] list an example for calling static methods from WITHIN classes

2017-07-12 Thread Ian
Ian added the comment: As indicated earlier, I would prefer to see clear instructions on how to call a class's static method from another static method within the same class. Currently, it's only clear how to call from outside the class. If that's not going to happen, then I agree that this

[issue10438] list an example for calling static methods from WITHIN classes

2017-07-11 Thread Raymond Hettinger
Raymond Hettinger added the comment: Ian, the docs mostly serve to tell what a tool does. Best practices then emerge from actual practices and are determined by users. I don't see any bug here that needs to be solved and think it is time to close this tracker item. It has been consuming

[issue10438] list an example for calling static methods from WITHIN classes

2017-07-11 Thread R. David Murray
R. David Murray added the comment: I'm not sure there's a "best practice" choice between the two calling forms that are documented. Although obviously when you don't have an instance you can't use the instance calling form. I think it is *common* practice to use the instance form when you

[issue10438] list an example for calling static methods from WITHIN classes

2017-07-11 Thread Ian
Ian added the comment: I would hope that the docs would cater to people who aren't sure how the language works (and who want to confirm that they are using proper patterns). If people already know how the language works, they won't need the docs. Whether or not you refer to Java and C++, you

[issue10438] list an example for calling static methods from WITHIN classes

2017-07-11 Thread R. David Murray
R. David Murray added the comment: Given a choice between catering for Python programmers and catering for Java/C++ programmers, the Python docs obviously ought to chose to cater to Python programmers. To a python programmer, calling C.f() is intuitive. I would myself definitely *not*

[issue10438] list an example for calling static methods from WITHIN classes

2017-07-09 Thread Ian
Ian added the comment: I agree that the use case is probably rare. I agree that to someone intimately familiar with the "self-consistent rules" of Python, the correctness of the C.f() approach is probably obvious. However, your documentation says: Static methods in Python are similar to

[issue10438] list an example for calling static methods from WITHIN classes

2017-07-08 Thread Raymond Hettinger
Raymond Hettinger added the comment: I also don't think this is worth it. The extra wording will likely cause more confusion that it clears up. Also, calling a staticmethod from within a class isn't a common thing to do. The principal use case for Python's static methods is to attach a

[issue10438] list an example for calling static methods from WITHIN classes

2017-07-08 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- status: open -> pending ___ Python tracker ___

[issue10438] list an example for calling static methods from WITHIN classes

2013-04-14 Thread R. David Murray
R. David Murray added the comment: After a discussion (at the Boston Python sprint, unfortunately I forget with who) of how difficult this could be to explain succinctly without confusing either java/C++ programmers on the one hand or Python programmers on the other hand, this, the wording in

[issue10438] list an example for calling static methods from WITHIN classes

2013-04-14 Thread Éric Araujo
Changes by Éric Araujo mer...@netwok.org: -- nosy: +eric.araujo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10438 ___ ___ Python-bugs-list

[issue10438] list an example for calling static methods from WITHIN classes

2013-04-14 Thread Richard Oudkerk
Richard Oudkerk added the comment: Note that in Python 3 you can also do __class__.f() in a staticmethod. Not sure if that is encouraged though. -- nosy: +sbt ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10438

[issue10438] list an example for calling static methods from WITHIN classes

2010-11-16 Thread Ian
New submission from Ian ifreeca...@gmail.com: Concerning this section of the docs: http://docs.python.org/library/functions.html#staticmethod There is no example for calling a static method from another static method within the same class. As I discovered later, it's simple: C.f() -- from

[issue10438] list an example for calling static methods from WITHIN classes

2010-11-16 Thread R. David Murray
R. David Murray rdmur...@bitdance.com added the comment: IMO this follows logically from Python's self-consistent rules. I'm not convinced that the amount of extra verbiage required to detail this particular case would make the docs clearer, but you are welcome to suggest a wording for us to

[issue10438] list an example for calling static methods from WITHIN classes

2010-11-16 Thread R. David Murray
R. David Murray rdmur...@bitdance.com added the comment: Woops, I see you did suggest a wording. However, what you wrote is imprecise and confused me when I first read it (I thought you meant that self.f() didn't work!). -- ___ Python tracker

[issue10438] list an example for calling static methods from WITHIN classes

2010-11-16 Thread Georg Brandl
Georg Brandl ge...@python.org added the comment: I tend to agree with David. Especially since calling base class methods also uses the explicit class name. -- nosy: +georg.brandl ___ Python tracker rep...@bugs.python.org

[issue10438] list an example for calling static methods from WITHIN classes

2010-11-16 Thread Georg Brandl
Georg Brandl ge...@python.org added the comment: However, what you wrote is imprecise and confused me when I first read it (I thought you meant that self.f() didn't work!). Well, it doesn't work in the specific case he mentioned of calling from another static method :) --

[issue10438] list an example for calling static methods from WITHIN classes

2010-11-16 Thread R. David Murray
R. David Murray rdmur...@bitdance.com added the comment: Only because you don't *have* self. Which is why I said imprecise and not incorrect :) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10438

[issue10438] list an example for calling static methods from WITHIN classes

2010-11-16 Thread Ian
Ian ifreeca...@gmail.com added the comment: Am I to understand that self.f() is a valid way to call a static method? Can you see how that would run counter to intuition for someone who is familiar with other languages? Given that, I would make the following (more precise) change: It can be

[issue10438] list an example for calling static methods from WITHIN classes

2010-11-16 Thread Ian
Ian ifreeca...@gmail.com added the comment: Disregard my previous comment; calling self.f() does not work from a static method. I stand by my previous suggestion, but I'll clarify it like this: Note: you must also use the C.f() syntax when calling from a static method within the C class