After 5 years of Python, I don't even see self anymore (how zen).
Author could have written
class Window(object):
def __init__(self, min, max):
if min > max:
min, max = max, min
self.min = min
self.max = max
to avoid repetition. If many args are needed, def __init__(self, a,b,c,d,e,f,...):
for k, v in locals().items():
setattr(self, k, v)
Etc etc there are endless idiomatic ways to avoid boilerplate in Python