On 2017-12-31 08:13, Paddy3118 wrote:
Hmm, yea I had not thought of how it would look - I had thought formost of not needing to necessarily learn about bitsets.when learning about passing a large number of optional flags to a function.

Although the default could be None, interpreted as an empty set of zero values.; a set of one or more enums does use more characters compared to or-ing flags...

None is often used to represent a default, which might not be an empty set.

On Sunday, 31 December 2017 05:34:23 UTC, Guido van Rossum wrote:

    On Sat, Dec 30, 2017 at 8:50 PM, Franklin? Lee
    <leewangzh...@gmail.com <javascript:>> wrote:

        Paddy might want something like this:
        - For existing APIs which take int or IntFlag flags, allow them to
        also take a set (or perhaps any collection) of flags.
        - In new APIs, take sets of Enum flags, and don't make them IntFlag.
        - Documentation should show preference toward using sets of Enum
        flags. Tutorials should pass sets.


    I'm not keen on this recommendation. An argument that takes a
    Set[Foo] would mean that in order to specify:
    - no flags: you'd have to pass set() -- you can't use {} since
    that's an empty dict, not an empty set
    - one flag: you'd have to pass {Foo.BAR} rather than just Foo.BAR
    - two flags: you'd have to pass {Foo.BAR, Foo.BAZ} rather than
    Foo.BAR | Foo.BAZ

    I think for each of these the proposal would be strictly worse than
    the current convention.

_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to