Bit Literal上的Python语法错误

Fra*_*nry 3 python

我继承了这个python程序,并且有点像菜鸟,我无法弄清楚问题是什么.我在以下函数的第一行收到语法错误:

def tileKey(self, z, x, y):
    zBits = z & 0xFFL
    #  8bits, 256 levels. normally [0,21]
    xBits = x & 0xFFFFFFFL
    #  28 bits
    yBits = y & 0xFFFFFFFL
    #  28 bits
    key = (zBits << 56) | (xBits << 28) | (yBits << 0)
    #  return the key value integer 720576213915009588
    return key
Run Code Online (Sandbox Code Playgroud)

Jon*_*nts 7

如果您使用的是Python 3.x,则不再使用'L'后缀,因为它不再需要,而不是语法的一部分:

yBits = y & 0xFFFFFFFL
Original exception was:
  File "<stdin>", line 1
    0xFFL
        ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)