x, = ... - ist das nachgestellte Komma der Komma-operator?

Ich verstehe nicht, was macht das Komma nach der variable Linien, bedeutet: http://matplotlib.org/examples/animation/simple_anim.html

line, = ax.plot(x, np.sin(x))

Wenn ich Entferne Komma und die variable "Zeile" wird die variable "Zeile" dann das Programm unterbrochen ist. Vollständigen code aus der url, die oben gegeben:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

fig = plt.figure()
ax = fig.add_subplot(111)

x = np.arange(0, 2*np.pi, 0.01)        # x-array
line, = ax.plot(x, np.sin(x))

def animate(i):
    line.set_ydata(np.sin(x+i/10.0))  # update the data
    return line,

#Init only required for blitting to give a clean slate.
def init():
    line.set_ydata(np.ma.array(x, mask=True))
    return line,

ani = animation.FuncAnimation(fig, animate, np.arange(1, 200), init_func=init,
    interval=25, blit=True)
plt.show()

Laut http://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences Komma nach variable scheint verknüpft werden, um Tupel mit nur einem Element.

Ihre Letzte Zeile trifft den Nagel auf den Kopf. Was es davon ausgegangen, dass Sie bereits wissen, ist, dass, wenn Sie eine Zuordnung zwischen iterables die Elemente aufgereiht sind. So x,y,z=1,2,3 ist ein Pythonic Art und Weise des Schreibens x=1;y=2;z=3.
Ich kann nichts mehr hinzuzufügen zu den Antworten unten, aber ich dachte, ich würde hinzufügen, ein ordentliches Ergebnis: der Komma-operator gibt auch Python die Möglichkeit zu wechseln, variable Werte in eine ausdrucksstarke, klare Linie (habe das in Die Quick Python Book): x2,x1 = x1,x2.

InformationsquelleAutor inzzz | 2013-04-16

Schreibe einen Kommentar