Pri*_*uza 1 python parameters function python-2.x python-3.x
所以我正在分析这段代码,我有理由相信这是用python 2.X编码的,但我正在使用3.2,并希望转换它以便它可以工作.
我遇到的第一个错误是带有语法的函数
def function((x,y))
Run Code Online (Sandbox Code Playgroud)
为什么它在Py3中不起作用,有什么替代方案?
正如E先生在评论中已经说过的那样,在Python 3中使用PEP 3113删除了这个功能.替代方案非常简单,您只需要一个手动解压缩的参数:
def func (xy):
x, y = xy
# ...
Run Code Online (Sandbox Code Playgroud)
或者您使用两个参数定义函数,并使该函数的用户自己解压缩它们的值:
def func (x, y):
# ...
t = (1, 2)
func(*t)
Run Code Online (Sandbox Code Playgroud)
顺便说一句.运行Python的2to3工具来转换现有的Python 2代码以匹配Python 3的语法和库更改是个好主意.
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |