So it's really this line self.DEVICE_REG_DATA &= ~(0x1<<0) that's causing my trouble.
This is just a wild guess since I don't know python, but I suspect it clears the least significant bit of the value stored in the DEVICE_REG_DATA variable.
The &= looks like a read-modify-write register operation. My guess is that &= is the AND-EQUAL bit-wise operator and ~ is the bit-wise negation operator. (0x1 << 0) is simplified as 0x1, which is represented in binary format as 0000_0001 (8 bits). 0000_0001 negated is 1111_1110. So the line is probably equivalent to the pseudo-code:
self.DEVICE_REG_DATA = self.DEVICE_REG_DATA & 1111_1110
UPDATE: Added note to explicitly state that the code example I gave is pseudo.