Python SyntaxError: invalid syntax, are brackets allowed in function parameters in python3?
Python SyntaxError: invalid syntax, are brackets allowed in function parameters in python3?
该函数在 python2:
中有效
def setCellValue(self, (x, y), value):
self.map[x][y] = value
但是当我在 python3 中尝试时,它显示了无效的语法:
def setCellValue(self, (x, y), value):
^
SyntaxError: invalid syntax
是支架问题吗?我如何在 py3 中解决这个问题?
是的,这个功能在 Python 3 中被删除了。它在签名检查方面表现不佳。您必须自己解压缩参数:
def setCellValue(self, pos, value):
x, y = pos
...
是的,在 python3 中删除了元组解包。根据PEP 3113:
The example function at the beginning of this PEP could easily be
rewritten as:
def fxn(a, b_c, d):
b, c = b_c
pass
and in no way lose functionality.
它的存在只会使语法和字节码生成变得复杂,因此被删除了。
该函数在 python2:
中有效def setCellValue(self, (x, y), value):
self.map[x][y] = value
但是当我在 python3 中尝试时,它显示了无效的语法:
def setCellValue(self, (x, y), value):
^
SyntaxError: invalid syntax
是支架问题吗?我如何在 py3 中解决这个问题?
是的,这个功能在 Python 3 中被删除了。它在签名检查方面表现不佳。您必须自己解压缩参数:
def setCellValue(self, pos, value):
x, y = pos
...
是的,在 python3 中删除了元组解包。根据PEP 3113:
The example function at the beginning of this PEP could easily be rewritten as:
def fxn(a, b_c, d): b, c = b_c pass
and in no way lose functionality.
它的存在只会使语法和字节码生成变得复杂,因此被删除了。