line,= plot(x,sin(x))逗号代表什么?

时间:2012-05-02 22:18:32

标签: python numpy matplotlib

我正在尝试制作动画情节。这是一个示例代码:

from pylab import *
import time

ion()

tstart = time.time()               # for profiling
x = arange(0,2*pi,0.01)            # x-array
line, = plot(x,sin(x))
for i in arange(1,200):
    line.set_ydata(sin(x+i/10.0))  # update the data
    draw()                         # redraw the canvas

print 'FPS:' , 200/(time.time()-tstart)

我不理解line,。没有逗号,代码不起作用。

2 个答案:

答案 0 :(得分:15)

逗号是Python语法,表示单元素元组。如,

>>> tuple([1])
(1,)

在这种情况下,它用于参数解包:plot返回单个元素列表,将其解压缩到line

>>> x, y = [1, 2]
>>> x
1
>>> y
2
>>> z, = [3]
>>> z
3

另一种可能更易读的方法是使用类似列表的语法:

>>> [z] = [4]
>>> z
4

尽管z, =在Python代码中更常见。

答案 1 :(得分:0)

案例1:

a=1,
type(a)
tuple

案例2:

a=1
type(a)
int