[Python-Dev] constant/enum type in stdlib

Isaac Morland ijmorlan at uwaterloo.ca
Tue Nov 23 18:50:31 CET 2010


On 2010年11月23日, Antoine Pitrou wrote:
> Le mardi 23 novembre 2010 à 12:32 -0500, Isaac Morland a écrit :
>> On 2010年11月23日, Antoine Pitrou wrote:
>>>>> We already have a bunch of bizarrely unrelated stuff in collections
>>> (such as Callable), so we could put enum there too.
>>>> Why not just "enum" (i.e., "from enum import [...]" or "import
>> enum.[...]")? Enumerations are one of the basic kinds of types overall
>> (speaking informally and independent of any specific language) - they
>> aren't at all exotic.
>> Enumerations aren't a type at all (they have no distinguishing
> property).

Each enumeration is a type (well, OK, not in every language, presumably, 
but certainly in many languages). The word "basic" is more important than 
"types" in my sentence - the point is that an enumeration capability is a 
very common one in a type system, and is very general, not specific to any 
particular application.
>> And "Flat is better than nested", after all.
>> Not when it means creating a separate module for every micro-feature.

Classes have their own keyword. I don't think it's disproportionate to 
give enums a top-level module name.
Having said that, I understand we're trying to have a not-too-flat module 
namespace and I can see the sense in putting it in "collections". But I 
think the idea that enumerations are of very wide applicability and hence 
deserve a shorter name should be seriously considered.
I'll leave it at that, except for:
Hey, how about this syntax:
enum Colors:
 	red = 0
 	green = 10
 	blue
(blue gets the value 11)
;-)
Isaac Morland			CSCF Web Guru
DC 2554C, x36650		WWW Software Specialist


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /