Help and optimization hints, anyone?
Kim Petersen
kim at lignus.dk
Fri Jan 23 09:48:49 EST 2004
Den Fri, 23 Jan 2004 12:32:04 +0000. skrev John J. Lee:
> Kim Petersen <kim at lignus.dk> writes:
>
>> I've worked on this table object a bit too long - and seem to have
>> stared too long at the code. Can someone see where it goes wrong in
>> the insertrow function?
>
> I made a few comments before I realised it was a Tkinter question, so
> no answer, sorry! Just some style hints.
thx. no problem tho - i should've remembered.
>>
>> class UserDict:
>
> Bad name -- UserDict is a standard library module. In 2.2 or newer,
> you can subclass dict. In 2.3, you also have the option of
> subclassing UserDict.DictMixin. If you just want to implement part of
> the maping interface, just call your class something other than
> UserDict -- say SimpleDefaultDictBase.
>
Actually i was planning to use the standard UserDict
(basically because a class is hashable and dict isn't) - i
got carried away and put some default handling in it as well - but
didn't rename ;-)
>
> dict is also a bad name -- this is the name of the builtin dictionary
> type, which you've just clobbered (in the local scope).
Hmmm - isn't it called __dict__ ?
>>
>> def haskey(self,name): return self.dict.has_key(name)
>
> Did you really mean to call it that? The dict interface has a method
> .has_key(), not .haskey().
yup - oversight
>
>
>> class Cell(UserDict):
>> defaults={"width": 0,"height": 0,"text": '',"color": "black","background": "white",
>> "widgets": None}
> [...]
>
> Haven't read much further, but it looks like you might be better off
> using attribute access rather than indexing. In 2.2, use properties.
> Earlier, use __setattr__ / __getattr__ (make sure you read the docs).
this migrated from a regular dict which i had to drop because its
not hashable as mentioned earlier - next step __(get|set)attr__.
>
>
> John
--
Privat ========================== Kim Petersen ==================== Arbejde
Email kim at vindinggaard.dk ===== Jens Grøns Vej 11 ===== Email kim at lignus.dk
Tlf +45 75 83 15 50 ============== 7100 Vejle ========= Tlf +45 75 83 15 51
Fax +45 75 83 15 62 ============= DK - Danmark ======== Fax +45 75 83 15 62
More information about the Python-list
mailing list