Is it bad practise to write __all__ like that
Thomas Rachel
nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915 at spamschutz.glglgl.de
Thu Jul 28 08:29:00 EDT 2011
Am 28.07.2011 13:32 schrieb Karim:
>
> Hello,
>
> __all__ = 'api db input output tcl'.split()
>
> or
>
> __all__ = """
> api
> db
> input
> output
> tcl
> """.split()
>
> for lazy boy ;o). It is readable as well.
> What do you think?
Why not? But you could even do
class AllList(list):
"""list which can be called in order to be used as a __all__-adding
decorator"""
def __call__(self, obj):
"""for decorators"""
self.append(obj.__name__)
return obj
__all__ = AllList()
@__all__
def api(): pass
@__all__
def db(): pass
@__all__
def input(): pass
@__all__
def output(): pass
@__all__
def tcl(): pass
HTH,
Thomas
More information about the Python-list
mailing list