在一行上将多个值分配给多个变量时,正确的Python语法和语义
我最近继承了一位前同事编写的许多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。这
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]
是一个元组