Speaking of slots, I've often been annoyed that there is no abstraction
that hides the difference between instances that use a dict as symbol
table, and those that use slots. (And those that use both.)
<snip>
it would be nice to
ignore the implementation details and just have a "symbol table" object
to work with. What do you think?
I think that would be great -- and wonder if vars() could be extended to do that?
> > Do you prefer to write `mylist.__len__()` over `len(mylist)`? Then you
> > will probably prefer `obj.__dict__` over `vars(obj)` too :-)
>
> Not a valid analogy.
I think it is. Apart from a matter of taste, what part of the analogy
do you feel is invalid?
For my part, I think the difference is that when you are working with .__dict__ you are doing meta-programming, for which poking around in the dunders makes perfect sense.
-CHB
--
Christopher Barker, PhD
Python Language Consulting
- Teaching
- Scientific Software Development
- Desktop GUI and Web Development
- wxPython, numpy, scipy, Cython