On 31/12/2013 15:54, Zachary Ware wrote:
On Tue, Dec 31, 2013 at 9:22 AM, spir <denis.s...@gmail.com> wrote:
Thank you, Oscar & Zachary. I guess thus the way it is done is correct (for
my case), is it? Seems your last remark shows the source of my confusion:
probably, in past times, I subtyped builtin types and overrided their
__new__, thus had to call the original one.
Would I have to do this if Source had other __init__ params? Or would it
work anyway provided the string remains 1st param? Or what else?
The interactive interpreter is great for this kind of thing, you know
;).
Good point, i've been letting the newbies off with this one recently.
class Source(str):
... __slots__ = ['i', 'n', 'a', 'k']
The glossary entry for __slots__ states "A declaration inside a class
that saves memory by pre-declaring space for instance attributes and
eliminating instance dictionaries. Though popular, the technique is
somewhat tricky to get right and is best reserved for rare cases where
there are large numbers of instances in a memory-critical application."
I'll admit that I really don't understand what's tricky about it, can
someone explain please.
--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
Mark Lawrence
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor