Is it bad practise to write __all__ like that

Thomas Rachel nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915 at spamschutz.glglgl.de
Fri Jul 29 02:37:42 EDT 2011


Am 28.07.2011 20:01 schrieb Ian Kelly:

> The advantage of Thomas's decorator here is that it lets you place the
> denotation of whether a function is exported alongside its definition,
> whereas simply declaring the __all__ list forces you to separate them.
>   It also avoids the problem of possibly mistyping the function's name
> in the list.

Thank you. For the ones who do not like @__all__ because it might look 
ugly, here is an alternative:

__all__ = []

def export(obj):
     __all__.append(obj.__name__)
     return obj

It is nearly the same, but without an extra class and with the more 
readable

@export
def func(): pass


Thomas



More information about the Python-list mailing list