我需要能够将一些应用程序“常量”编码/解码为单个变量。
最好的描述类似于 chmod 中的八进制符号,并且会像这样工作:
class Permissions(MagicalExistingClassSomewhere):
EXECUTE = 1
WRITE = 2
READ = 4
a = Permissions(6)
print a
> [ Permissions.READ , Permissions.WRITE ]
a.add( Permissions.EXECUTE )
print a
> [ Permissions.READ , Permissions.WRITE , permissions.EXECUTE ]
print a.encode()
> 7
a.remove( Permissions.READ )
print a.encode()
> 3
有没有人见过可以像这样抽象所有按位运算的库?我浏览了整个 PyPi 并看到了一些专注于enum
and的库bitwise
,但没有真正做这类事情。