[Python-ideas] why not try without except?

Steven D'Aprano steve at pearwood.info
Sun Apr 26 13:38:00 CEST 2009

On Sun, 26 Apr 2009 07:52:40 pm spir wrote:

> Mine is: optional things and optional actions are basic and common
> notions. Even more in modelizing / programming fields. Are they
> important enough (for you) to require a dedicated idiom in a (your
> favorite) PL?
> class Shape(object):
>    def __init__(self, ..., ?fill_color)
>       .......
>       ?self.fill_color = fill_color
>    def show(self):
>       .......
>       ?self.fill(self.fill_color)

In this case, fill_colour shouldn't be optional. There are two better 
ways to deal with it. Here's one:

class UnfilledShape(object):  # no fill colour at all.

class FilledShape(UnfilledShape):  # has a fill colour

or if you prefer:

class Shape(object):
    def __init__(self, ..., fill_color=TRANSPARENT):

Either solution is better than writing code that is filled with checks 
for missing values. Whether you manually check it yourself, or have 
syntax support, you still make the code more complicated.

Steven D'Aprano

More information about the Python-ideas mailing list