On Wed, 26 Aug 2009 13:57:23 +0000, kj wrote: > In <jeqdncamuyvtrwjxnz2dnuvz8ludn...@bt.com> "Martin P. Hellwig" > <martin.hell...@dcuktec.org> writes: > >>kj wrote: >><cut> >>> First, one of the goals of OO is encapsulation, not only at the level >>> of instances, but also at the level of classes. >>Who says? > > Python itself: it already offers a limited form of class encapsulation > (e.g. class variables).
An int variable is an int. A string variable is a string. A bool variable is a bool. A class variable is a class. Perhaps you mean a class attribute? > It would be nice if it went all the way and > gave classes their own bona fide scope. Classes have their own bona fide scope. It just doesn't work the way you expect it to. > (But I hasten to add: I *still* > don't understand the Python scope model, and not for lack of trying. > I've only succeeded in finding fragments of this model explained here > and there, like pottery shards: a bit lost in a tutorial, or some > comment in a newsgroup thread, etc. Maybe the full, authoritative > documentation of Python's scope model got lost somewhere, and will be > found by archaeologists in the 25th century...) It's all in the Fine Manual: http://docs.python.org/reference/executionmodel.html >>Anyway, you could be right (I am not capable to judge it) and Python >>should change on this issue but from what I gathered, Pythons OO is >>inspired by the following: >>- Don't repeat yourself >>- Containing code into logical units makes it easier to understand and >>maintain. > > ...except, apparently, when that code is a recursive function, in which > case one's out of luck. Incorrect. As I showed in my previous post, your problem has nothing to do with recursion. >>> Second, my example shows that Python puts some peculiar restrictions >>> on recursion. Recursion! One of the central concepts in the theory >>> of functions! >><cut> >>It is also one of the best ways to shoot yourself in the foot... > > If recursion is so evil, and Python so intent in saving us from shooting > ourselves in the foot, why does it allow recursion at all? Recursion isn't evil, and Python isn't intent on preventing foot-shooting. -- Steven -- http://mail.python.org/mailman/listinfo/python-list