Like c enumeration in python3 [ERRATA]
Peter Otten
__peter__ at web.de
Mon Mar 23 04:24:47 EDT 2020
Paulo da Silva wrote:
> Às 02:18 de 23/03/20, Paulo da Silva escreveu:
>> Hi!
>>
>> Suppose a class C.
>> I want something like this:
>>
>> class C:
>> KA=0
>> KB=1
> KC=2
>> ...
>> Kn=n
>>
>> def __init__ ...
>> ...
>>
>>
>> These constants come from an enum in a .h (header of C file).
>> They are many and may change from time to time.
>> Is there a way to somehow define them from inside __init__ giving for
>> example a list of names as strings?
>> There is an additional problem: C is not recognized inside __init__!
> Of course I'm talking about C class name, not C language.
Use enum:
>>> import enum
>>> C = enum.IntEnum("C", ["KA", "KB", "KC"], start=0)
>>> C.KB
<C.KB: 1>
>>> C.KB == 1
True
https://docs.python.org/3/library/enum.html#functional-api
More information about the Python-list
mailing list