Seite 1 von 1

Verfasst: Dienstag 28. Juli 2009, 17:22
von BlackJack
Für meinen Geschmack ist da zuviel Wiederholung in diesem Schnippsel.

Code: Alles auswählen

if event.keycode is not None:
    factor = -(event.keycode / 120)
else:
    factor = -1 if event.num == 4 else 1
    assert event.num in (4, 5)
alle_boxen.yview_scroll(4 * factor, tk.UNITS)
return 'break'

Verfasst: Dienstag 28. Juli 2009, 19:37
von ippurk
ja, das gefällt mir auch besser, deutlich eleganter gelöst.

Aber zu diesem assert: Ist das nötig ? Die Funktion wird doch sowieso nur aufgerufen, wenn die event.num 4 oder 5 ist (durch mein vorheriges bind). Oder ist das einfach nur guter Stil, bei solchen if else Zuweisungen diese assert-Überprüfung vorzunehmen ?

Ach und danke. Jetzt weiß ich auch, daß es den Befehl assert gibt, wieder was dazugelernt, bin ja noch ein völlig Unwissender.

Verfasst: Dienstag 28. Juli 2009, 20:48
von BlackJack
@ippurk: Das ``assert`` ist nicht nötig, aber genau dafür ist ``assert`` da -- Sachen überprüfen, von denen man 100%ig sicher ist, das sie stimmen. Es ist immer wieder überraschend wie oft man sich irrt und die eben *doch* passieren. :-)