Alan G Isaac wrote:
<div class="moz-text-flowed" style="font-family: -moz-fixed">On
6/24/2010 1:59 AM, Dennis Lee Bieber wrote:
It is NOT a numeric "variable" in Python realms.
Sure, but why does it not behave more like one?
It seems both obvious and desirable, so I'm
guessing there is a good reason not to do it.
So var+=increment can't be used because Python would rebind the name
var to a new object
import Tkinter as tk
class IntVar2(tk.IntVar):
... def __iadd__(self, val):
... self.set(self.get()+val)
... return self
...
root = tk.Tk()
myintvar2 = IntVar2()
temp = myintvar2
myintvar2 += 5
print(myintvar2.get(),myintvar2 is temp)
(5, True)
Alan Isaac
A real Python integer is immutable. But for tkinter, you want something
that can change. So they define an object that can be changed. But the
default behavior of += is to assign a new object with the new value,
rather than changing the previous object.
DaveA
--
http://mail.python.org/mailman/listinfo/python-list