Thanks for your replies, Steven. Between this post and your other post, you wrote a lot.
On Monday, November 18, 2013 3:21:15 PM UTC-8, Steven D'Aprano wrote (and I quote, edited, and sometimes out of order): > So if you have any > thought that "the name of an object" should be the name of the variable, > scrub that from your head, it will never fly. I certainly don't, as you would see from the title of my thread from two days ago, which lead to this thread: "Obtaining 'the' name of a function/method". https://groups.google.com/forum/#!topic/comp.lang.python/bHvcuXgvdfA It took me a few months to understand the Pythonic concept of binding names to anonymous objects when I first started with Python... but that was quite a few years ago. > For the > rest of this post, any time I talk about a name, I always mean the name > an object knows itself by, and never the variable name it is bound to (if > there is such a variable name). [snip] > For functions and classes, such names are especially useful, for > debugging and error messages: If you read my response to your other post, you will see that debugging is definitely one of the reasons I'm undertaking this approach. But even after the debugging is complete, I will still find it helpful for logging and monitoring purposes. > > from collections import namedtuple > > MyNamedTupleClass = namedtuple("ANamedTuple", ("foo", "bar")) > > Here you define a class, called "ANamedTuple". Unfortunately, it doesn't > use the standard class syntax, a minor limitation and annoyance of > namedtuples, and so you're forced to give the class name "ANamedTuple" > explicitly as an argument to the function call. But the important thing > here is that it is a class. OK, that helps. I just had a look at the namedtuple source code. Part of my conceptual problem stems from the fact that namedtuple() is what I think people call a "class factory" function, rather than a proper class constructor. I'll read through this until I understand it. -- https://mail.python.org/mailman/listinfo/python-list