Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在一行上将多个值分配给多个变量时,正确的Python语法和语义_Python_Python 3.x - Fatal编程技术网

在一行上将多个值分配给多个变量时,正确的Python语法和语义

在一行上将多个值分配给多个变量时,正确的Python语法和语义,python,python-3.x,Python,Python 3.x,我最近继承了一位前同事编写的许多Python脚本,我一直在审查这些脚本并向其添加注释。在脚本中的几个地方,原始作者以类似于以下的方式解包并为多个变量赋值: def function_a(): example_list = ['string',(1,2),{'other_data':[1,2,3]}] return example_list result = function_a() (x,y) = result[1] 逻辑显然是这样的,但我不确定为什么需要用括号括住x和y。这

我最近继承了一位前同事编写的许多Python脚本,我一直在审查这些脚本并向其添加注释。在脚本中的几个地方,原始作者以类似于以下的方式解包并为多个变量赋值:

def function_a():
    example_list = ['string',(1,2),{'other_data':[1,2,3]}]
    return example_list

result = function_a()
(x,y) = result[1]

逻辑显然是这样的,但我不确定为什么需要用括号括住
x
y
。这样做纯粹是为了可读性吗?或者将此语句表示为
x,y=result[1]
(x,y)=result[1]
之间是否存在一些功能上的差异?不幸的是,我目前无法运行这些脚本,因为它们需要我从源代码构建的库,但当这些脚本在数据库上运行时,我很紧张要更改任何内容。任何洞察都将不胜感激

括号在这里没有区别——关键语法是逗号。您可以在不运行整个脚本的情况下自己进行测试,
x,y=(1,2)
(x,y)=(1,2)
甚至
x,y=1,2
(x,y)=1,2
您是正确的。这是一个可读性的东西。它有助于读者识别
结果[1]
是一个元组括号在这里没有区别-关键语法是逗号。您可以在不运行整个脚本的情况下自己进行测试,
x,y=(1,2)
(x,y)=(1,2)
甚至
x,y=1,2
(x,y)=1,2
您是正确的。这是一个可读性的东西。它帮助读者识别
结果[1]
是一个元组