Entry karakter limitleme

def limitSizeDay(*args):
    value = dayValue.get()
    if len(value) > 2: dayValue.set(value[:2])

List1 = Tk()
dayValue = StringVar()
dayValue.trace('w', limitSizeDay)

day_entry1=Entry(List1, bg="#282B2B", fg="white", width=2, textvariable=dayValue)
day_entry1.place(x=77, y=58)

internetten bulduğum bu kodu yorumladığımda şurada tıkandım: .trace() ve kendimizin tanımladığı limitSizeDay fonksiyonun içinde if bloğu ile başlayan len(value) > 2: bu komut nasıl okunur?
birde şunuda söylemek istiyorum

def limitSizeDay(*args):
    value = dayValue.get()
    if value:
        dayValue.set(value[:8])
List1 = Tk()
dayValue = StringVar()
dayValue.trace('w', limitSizeDay)

day_entry1=Entry(List1, bg="#282B2B", fg="white", width=10, textvariable=dayValue)
day_entry1.place(x=77, y=58)
mainloop()

bu şekilde biraz oynayıp çalıştırdığımda hiçbir sorun vermeden çalışıyor. Aradaki farkı anlayamadım neden len() kullanmış ve .trace() ne işe yarıyor
Teşekkür ederim.