Подтвердить что ты не робот

Line, = plot (x, sin (x)), что означает запятая?

Я пытаюсь сделать анимированный сюжет. Вот пример кода:

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,. Без запятой код не работает.

4b9b3361

Ответ 1

Запятая - это синтаксис Python, который обозначает либо одноэлементный кортеж. Например.

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

В этом случае он используется для распаковки аргументов: plot возвращает список из одного элемента, который распаковывается в line:

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

Альтернативный, возможно, более читаемый способ сделать это - использовать синтаксис типа list-like:

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

хотя z, = чаще встречается в коде Python.