Changing global variables in tkinter/pmw callback
Fredrik Lundh
fredrik at pythonware.com
Thu Apr 5 11:47:11 EDT 2001
Brian Elmegaard wrote:
> Can it be written in a few words, so I may understand why lists
> are (and have to be) so different from "normal" variables?
how about two and a half words: "they're not" ;-)
confusing?
let's go back to the "python objects" page. the first set
of clues are hidden under "objects":
"Some objects have methods that allow you to
change the contents of the object."
(lists belong to this category. you can use methods to
modify the contents of a list).
"Some objects only have methods that allow you
to access the contents, not change it."
("normal variables", like integers, floats, strings, belong to
this category. if you want a new integer/float/string value,
you have to create a new object)
the second set of clues can be found under "assignments":
"Assignment modify namespaces, not objects"
(when you type "s = 10", you're modifying a namespace, not
whatever "s" contained before. anyone looking at the original
object won't see the change -- because nothing has changed!)
"Things like name.attr and name[index] are just
syntactic sugar for method calls."
(when you type "s[0] = 10", you ask whatever "s" points to
to replace item zero with a new value. in your case, you ask
the list "s" to modify it's first item. anyone else referring to
the same list object will see this change)
:::
now read alex' reply once or twice. then read the "python
objects" page again, and make sure you understand every-
thing in there. once you've done this, the standard docs
may start to make a little more sense ;-)
(or maybe you're more confused than ever. in that case,
we do apologize for the inconvenience...)
Cheers /F
More information about the Python-list
mailing list