python中内置数据类型的运算符重载

时间:2012-12-01 17:54:39

标签: python python-2.7

我正在尝试在python中使用按位“和”以及其他一些运算符来处理数据类型c_uint32

我收到以下错误:

TypeError: unsupported operand type(s) for &: 'c_uint' and 'c_uint'

我相信我收到此错误,因为python库不支持&的Bitwise c_uint

有什么方法可以将任何重载的运算符添加到内置数据类型中?

1 个答案:

答案 0 :(得分:0)

c_uint32数据类型仅用于与c库通信。它应该仅用于在边界处进行转换,即您进行通信的位置。

因此,对于按位运算,首先将类型转换为本机Python类型,例如python int。提取快速位掩码操作的值并不难:

c_uint32(c_uint32_value1.value & c_uint32_value2.value)