__init__, __slot__ and **keywordargs
Zunbeltz Izaola
zunbeltz at wm.lc.ehu.es.XXX
Fri Jan 9 07:25:59 EST 2004
Peter Otten <__peter__ at web.de> writes:
>
> You misspelt: in fact it's __slots__, and it will work as expected. As far
Hurg!!! :-( This kine of mistakes will become me crazy.
> as I know slots are an optimization technique that is useful to save some
> space, when you have many (that would be millions) of small objects. It's
> not meant as a safety belt for the programmer.
But, I think it can be considered "a safety belt for the programmer" ,
When you do
instance.attribute
you get and AttributeError if attribute is not in the __slots__
(It would help to avoid misspells, like i've done!!)
> In your case, I wouldn't use it, but rather not initialize the attributes
> not given as constructor - __init__() - arguments. Also, I would consider
> the ability to provide additional arguments, say "Nickname", not a
> bug but
What do you mean with additional arguments? (My code was not the full
code)
> a feature. Of course you have to change your client code to test for
>
Not yet :-) I'm in planning stage yet and this code was only to play a
bit to see what can i do.
> hasattr(person, "Birthday")
>
> instead of
>
> person.Birthday is None
>
Thanks for this suggestion, I think i'll use hasattr.
Zunbeltz
> Peter
>
>
--
Remove XXX from email: zunbeltz at wm.lc.ehu.esXXX
More information about the Python-list
mailing list