使用c联合的位标志实现。这个库消除了使用cTypes的需要,并帮助您快速访问切换的位。
bitflags的Python项目详细描述
#位标志
使用c联合实现位标志。此库不需要使用cTypes,并帮助您快速访问
位的切换。
此类是根据在https://wiki.python.org/moin/bitmanability的
位字段部分下的位操作指南构建的。
动态位标志对象(位标志)。
2:“flag3”,3:“flag4”,4:“发生了一些事情”}
>f=myflags(0)
>assertf.value==0
>assert int(f)==0
>f.assertf.value==f.value=0b101位(位数可以是通过设置类属性nbits或nbytes进行更改
打印(f.bit_7,f.bit_6,f.bit_5,f.bit_4,f.bit_3,f.bit_2,f.bit_1,0 0 0 0 0 0 0 0 0 0 0 1 0 1
>
转换为使用数据类型STR(f)='Frase'(f')=5(<0)=Br/>断言字节(f)=b′\\b0/'`br/> `br/> br/>如果您希望属性与显示选项不同,则该类是灵活的。
By/>‘Python < BR/>从BITFLAGS导入BitFlags
BR/>类MyFLAGS(BITFLAGS):
选项={ 0:“失败”,1:“警告”,2:“系统2%重载”}
断言hasattr(f,“失败”)
断言hasattr(f,“警告”)
断言hasattr(f,“系统2%重载”)
assert f.getu flags()=['失败','警告','系统2%重载']
class specialflags(位标志):
选项={0:“2%系统失败”,#注意:变量名不能以数字开头!
1:“系统重载”,
2:“系统安全”}
字段={system_failure':0,'system_overload':1,'safe':2}访问位的自定义变量
assert s.system_overload==1
assert s.safe==1
assert s.get_flags()=[“2%系统故障”,“系统过载”,“系统安全”]
>s2=specialflags(1)
>assert s s.get_flags()=[“2%系统故障”]
```
>class myflags(bitbflags):
>pattern=%i
35;5-bin(5)显示位值(0b101)
assert f.value==0b101
35;示例-位标志
一次性对象位标志。这基本上与位标志相同,只有实例构造函数允许您设置选项、字段和位/字节数。
``python
from bitflags import bitflags
f=bitflags(flag1=1,flag3=1,options={0:“flag1”,1:“flag2”,2:“flag3”,3:“flag4”,4:“发生了一些事情”})
assert f.value==0b101
assert f.flag1==1
assert f.flag2==0
assert f.flag3==1
assert f.flag4==0
assert f.something“发生了一些事情”==0
“d”:3})
assert f.a==f.bit_0
assert f.b==f.bit_1
assert f.c==f.bit_2
assert f.d==f.bit_3
````
BitFlags构造函数使用类型创建新的BitFlags类。除非从创建的对象访问该类,否则该类实际上是不可重用的。
``python
from bitflags import bitflags
f=bitflags(flag1=1,flag3=1,options={0:“flag1”,1:“flag2”,2:“flag3”,3:“flag4”,4:“发生了什么事”})
assert f.value==0b101
f2=type(f)(0b1)
assertF2.flag1==1
断言F2.value==1
assert f.value==0b101
f3=f.cuuuuuuuuuuuu类(0b10)
assert f3.flag1==0
assert f3.flag2==1
断言F3.value==2
断言F2.value==1
assert f.value==0b101
value 标志 bit assert 断言 ctypes 快速访问
使用c联合实现位标志。此库不需要使用cTypes,并帮助您快速访问
位的切换。
此类是根据在https://wiki.python.org/moin/bitmanability的
位字段部分下的位操作指南构建的。
动态位标志对象(位标志)。
2:“flag3”,3:“flag4”,4:“发生了一些事情”}
>f=myflags(0)
>assertf.value==0
>assert int(f)==0
>f.assertf.value==f.value=0b101位(位数可以是通过设置类属性nbits或nbytes进行更改
打印(f.bit_7,f.bit_6,f.bit_5,f.bit_4,f.bit_3,f.bit_2,f.bit_1,0 0 0 0 0 0 0 0 0 0 0 1 0 1
>
转换为使用数据类型STR(f)='Frase'(f')=5(<0)=Br/>断言字节(f)=b′\\b0/'`br/> `br/> br/>如果您希望属性与显示选项不同,则该类是灵活的。
By/>‘Python < BR/>从BITFLAGS导入BitFlags
BR/>类MyFLAGS(BITFLAGS):
选项={ 0:“失败”,1:“警告”,2:“系统2%重载”}
断言hasattr(f,“警告”)
断言hasattr(f,“系统2%重载”)
assert f.getu flags()=['失败','警告','系统2%重载']
class specialflags(位标志):
选项={0:“2%系统失败”,#注意:变量名不能以数字开头!
1:“系统重载”,
2:“系统安全”}
字段={system_failure':0,'system_overload':1,'safe':2}访问位的自定义变量
assert s.safe==1
assert s.get_flags()=[“2%系统故障”,“系统过载”,“系统安全”]
>s2=specialflags(1)
>assert s s.get_flags()=[“2%系统故障”]
```
>class myflags(bitbflags):
>pattern=%i
assert f.value==0b101
35;示例-位标志
一次性对象位标志。这基本上与位标志相同,只有实例构造函数允许您设置选项、字段和位/字节数。
``python
from bitflags import bitflags
f=bitflags(flag1=1,flag3=1,options={0:“flag1”,1:“flag2”,2:“flag3”,3:“flag4”,4:“发生了一些事情”})
assert f.value==0b101
assert f.flag1==1
assert f.flag2==0
assert f.flag3==1
assert f.flag4==0
assert f.something“发生了一些事情”==0
“d”:3})
assert f.a==f.bit_0
assert f.b==f.bit_1
assert f.c==f.bit_2
assert f.d==f.bit_3
````
BitFlags构造函数使用类型创建新的BitFlags类。除非从创建的对象访问该类,否则该类实际上是不可重用的。
``python
from bitflags import bitflags
f=bitflags(flag1=1,flag3=1,options={0:“flag1”,1:“flag2”,2:“flag3”,3:“flag4”,4:“发生了什么事”})
assert f.value==0b101
f2=type(f)(0b1)
assertF2.flag1==1
断言F2.value==1
assert f.value==0b101
f3=f.cuuuuuuuuuuuu类(0b10)
assert f3.flag1==0
assert f3.flag2==1
断言F3.value==2
断言F2.value==1
assert f.value==0b101
标签: