Cat*_*ang 6 python python-2.x python-3.x
该函数适用于python2:
def setCellValue(self, (x, y), value):
self.map[x][y] = value
Run Code Online (Sandbox Code Playgroud)
但是当我在 python3 中尝试时,它显示了无效的语法:
def setCellValue(self, (x, y), value):
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
是支架问题吗?我怎样才能在 py3 中解决这个问题?
是的,在python3中删除了元组解包。根据PEP 3113:
本 PEP 开头的示例函数可以很容易地重写为:
Run Code Online (Sandbox Code Playgroud)def fxn(a, b_c, d): b, c = b_c pass
并且绝不会失去功能。
它的存在只会使语法和字节码生成复杂化,所以它被删除了。