使用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
  • 快速访问
  • 欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    java Android Action_Edit Intent无法像以前一样调用App Gallery来编辑图片   确保JRE兼容性的java适当程序(32或64位)   java JSONArray。for循环中的add(JSONObject)正在替换for循环中的旧值,数组由循环中的最后一个值组成   java需要帮助创建一个返回数组的方法,该数组的元素是另一个数组的平方   使用SmbFile w/groovy XmlSluper()创建xml。解析()Java   检查大小后的java ArrayIndexOutOfBoundsException   乘法表中的第k个最小元素   java 401 on请求,其中指定了'permitAll()'   java如何附加ORC文件   java hibernate类模型   java IDEA没有看到由自定义注释处理器生成的方法   Servlet中未声明java SerialVersionId   java linkedlist到达列表末尾时   java如何正确对齐EditText光标?   java 6编译器1.6上的eclipse重写方法错误   java如何在基于Jersey的RESTful Web服务中读取post数据   java如何在活动中正确使用接口?   Java的JIT编译器的工作速度有多快?