[Python-ideas] a set of enum.Enum values rather than the construction of bit-sets as the "norm"?
MRAB
python at mrabarnett.plus.com
Sun Dec 31 12:09:34 EST 2017
More information about the Python-ideas mailing list
Sun Dec 31 12:09:34 EST 2017
- Previous message (by thread): [Python-ideas] a set of enum.Enum values rather than the construction of bit-sets as the "norm"?
- Next message (by thread): [Python-ideas] a set of enum.Enum values rather than the construction of bit-sets as the "norm"?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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... at 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. >
- Previous message (by thread): [Python-ideas] a set of enum.Enum values rather than the construction of bit-sets as the "norm"?
- Next message (by thread): [Python-ideas] a set of enum.Enum values rather than the construction of bit-sets as the "norm"?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list