什么,在Python意味着什么?

我想知道是什么,=, =意味着在Python?

来自matplotlib的示例:

 plot1, = ax01.plot(t,yp1,'b-') 

这是一种拆包的元组forms。 括号:

 (plot1,) = ax01.plot(t,yp1,'b-') 

ax01.plot()返回包含一个元素的元组,并将此元素分配给plot1 。 没有逗号(也可能是括号), plot1将被分配整个元组。 在以下示例中观察ab之间的差异:

 >>> def foo(): ... return (1,) ... >>> (a,) = foo() >>> b = foo() >>> a 1 >>> b (1,) 

你可以省略(a,)(1,)的括号(a,)为了清楚起见,我留下了它们。

Python允许你把元组放在赋值的左边。 问题中的代码就是这样的一个例子,它可能看起来像是一个运算符的特例,但这只是一个在这里进行的元组赋值。 一些例子可能有帮助:

 a, b = (1, 2) 

这给你a = 1b = 2

现在还有一个元素元组的概念。

 x = (3,) 

给你x = (3,)这是一个元素的元组,语法看起来有点奇怪,但是Python需要区别于简单的括号,所以它有尾随的逗号(例如z=(4)使得z是整数值4,而不是元组)。 如果你现在想提取这个元素,那么你会想要使用像你在这个问题中的东西:

 y, = x 

现在y是3.请注意,这只是元组赋值,语法看起来有点奇怪,因为它是长度为1的元组。

有关示例,请参阅此脚本: http : //ideone.com/qroNcx

添加一个variables后,把它放在一个元组中。 然后为这个元组分配一个从ax01.plot(t,yp1,'b-')返回的值(带有=运算符ax01.plot(t,yp1,'b-')