import Tkinter,tkFont window=Tkinter.Tk() canvas=Tkinter.Canvas(window) canvas.pack() m={} i=-1 while 1: i+=1 font=("Times",(i%30)+10,"bold") font_obj=tkFont.Font(font=font) name=str(font_obj) if m.has_key(name): print "previously:",m[name] print "now:",font print "iterations:",i print "mapping:",m assert 0 else: m[name]=font canvas.create_text((50,i), text="foobar", font=font_obj) window.mainloop()