[Python-Dev] [Python-3000] Python 3000 Status Update (Long!)

Georg Brandl g.brandl at gmx.net
Tue Jun 19 17:27:58 CEST 2007

Walter Dörwald schrieb:

>>>> If a PEP is called for, I'd be happy to at least co-author it.
>>> Codecs are a major exception to Guido's law: Never have a parameter
>>> whose value switches between completely unrelated algorithms.
>> I don't think that applies here. This is more like __import__():
>> depending on the first parameter, completely different things can happen.
>> Yes, the same import algorithm is used, but in the case of
>> bytes.encode_bytes, the same algorithm is used to find and execute the
>> codec.
> What would a registry of tranformation algorithms buy us compared to a
> module with transformation functions?

Easier registering of custom transformations. Without a registry, you'd have
to monkey-patch a module.

> The function version is shorter:
>    transform.rot13('foo')
> compared to:
>    'foo'.transform('rot13')

Yes, that's a very convincing argument :)

> If each transformation has its own function, these functions can have
> their own arguments, e.g.
>    transform.bz2encode(data: bytes, level: int=6) -> bytes
> Of course str.transform() could pass along all arguments to the
> registered function, but that's worse from a documentation viewpoint,
> because the real signature is hidden deep in the registry.

I don't think transformation functions need arguments.


More information about the Python-Dev mailing list